[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: How about dropping semi-variable-arity?

This page is part of the web mail archives of SRFI 71 from before July 7th, 2015. The new archives for SRFI 71 contain all messages, not just those from before July 7th, 2015.

Sebastian Egner <sebastian.egner@xxxxxxxxxxx> wrote at 2005-05-19T14:12:44+0200:
> Good style, or not, it allows to write
> (let* ((y (foo x))
>        (begin (display y))
>        (z (bar-trashing-argument! y)))
>   z)
> Two downsides: a) Looks funny. b) You cannot bind a variable named 
> 'begin'.
> Any other? If this is all, it could be worth it.

Before adding syntax to "let", is the following idiom satisfactory

    (let* ((y (foo x))
           (z (begin (display y)
                     (bar-trashing-argument! y))))

Or I suppose there's the bind-zero-values case supported by the
implementation I posted yesterday, but its use here is kludgey:

    (let* ((y (foo x))
           (  (begin (display y) (values)))
           (z (bar-trashing-argument! y)))