<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>this would obviously be from ice-9 match <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>so i think the basic way it works is (match-let ((<pat> <exp>) ...) <body> ...) <rain1>and there is a named 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 :) <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>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 ***ota_ is now known as ota