Hello! Linus Björnstam <linus.bjorns...@veryfast.biz> skribis:
> This commit adds internal definitions to derived conditional forms, > with-fluids and and-let*. This means the bodies of when, unless and > with-fluids, and the clause bodies of case and cond behave like a > lambda body. > > There is no performance hit since guile optimizes a (let () ...) > without internal definitions to a begin (i.e: no new lexical context > is created). Daniel pushed this as 764e3614b8c13de604399572a67d071621e9ca21 in ‘main’. I had completely overlooked this thread but I wasn’t quite sure about it, so I did not include it in 3.0.9. The reason I’m hesitant is that, while I think it’s nice to be able to have local ‘define’ in these contexts, I’m wary of diverging from R5RS and R6RS. Since it’s a one-way change (we won’t be able to revert it once people rely on it), I thought we’d rather be careful. What do people think? Andy? Thanks, Ludo’.