Re: How about dropping semi-variable-arity? Sebastian Egner (19 May 2005 12:13 UTC)
Re: How about dropping semi-variable-arity? Neil W. Van Dyke (19 May 2005 14:36 UTC)

Re: How about dropping semi-variable-arity? Neil W. Van Dyke 19 May 2005 14:36 UTC

Sebastian Egner <xxxxxx@philips.com> 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
instead?

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

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)))
      z)

--
                                             http://www.neilvandyke.org/