IRC channel logs

2018-04-17.log

back to list of logs

<Apteryx>Hello, could someone explain to me how match-let is supposed to be used? I see it's like a match, but where does the value to be match against come from?
<rain1>where are you getting match-let from?
<rain1>oh im sorry
<rain1>this would obviously be from ice-9 match
<rain1>I thought this was #chez
<Apteryx>I think that's where it was imported from (chez)
<rain1>so match-let is not documented, not even in the source code
<rain1>you basically have to reverse engineer its use from the implementation
<Apteryx>but it now exist (undocumented) in ice-9, specifically in a file called: match.upstream.scm
<rain1>(match-let ((`(,x ,y) (list 1 2))) (list x y))
<rain1>$4 = (1 2)
<rain1>you can use it like this
<rain1>so i think the basic way it works is (match-let ((<pat> <exp>) ...) <body> ...)
<rain1>and there is a named let variant
<rain1>and a let* variant
<Apteryx>I see. So the last expression found in the inner list of match-let(...) is what feed the match pattern which makes the first expression of that inner list.
<Apteryx>rain1: your explanation is more complete. Thanks, I will try it out :)
<rain1>glad to hlelp
<Apteryx>your example could also be written as: (match-let (((x y) (list 1 2))) (list x y))
<lispmacs>hi, I want to add a scheme package to libreCMC (and openwrt fork). Could guile be reduce to <8MB, or should I be looking at something like tinyscheme?
<djcb>with the guile 2.2.2 repl, when the first (load-extension ...) fails (file not found), a second attempt locks the repl, apparently in a mutex (from scm_dynwind_pthread_mutex_lock)
<djcb>ie. the second `(load-extension "foo" "bar")' locks the repl
<amz3>héllo all!
<amz3>I published the video at https://youtu.be/YMYh6f_jODg
<OrangeShark>amz3: is this a new video on neon?
<amz3>OrangeShark: yes
<amz3>The one I posted yesterday, as mp4
<amz3>but i don't know how to encode it properly in ogv
<amz3>It still missing a lot of things, like filters
<amz3>and push/pull things
***ota_ is now known as ota