[alexandria-devel] if-let*
Nikodemus Siivola
nikodemus at random-state.net
Sat Jan 26 14:07:51 UTC 2013
On 24 November 2012 18:59, Marco Baringer <mb at bese.it> wrote:
> i recently needed (or just decided that i wanted it) a version of
> if-let with sequential binding. The bindings form is as with if-let,
> however to ensure that only the 'true' bindings are seen in the else
> form (and i'm not convinced this is worth it) the else form is
> repeated multiple times (once per binding) in the macro's expansion.
>
> the docstring should explain how it works (and if not i'll fix the
> docstring).
>
> and, since it made sense to me at the time, when-let and when-let* are
> implemented in terms of if-let and if-let* (instead of repeating the
> binding expansion and and code).
It seems very strange to me that you leave variables unbound in the
ELSE branch -- so you can only refer to the first one.
Either all should be bound in the ELSE branch or non should be.
Otherwise no complaints -- and would be happy to merge. (Or if there's
a rationale for the unboundness I'm happy to hear. It just isn't
obvious to me.)
Cheers,
-- Nikodemus
More information about the alexandria-devel
mailing list