Fwd: Re: [r6rs-discuss] [Formal] Rename named `let'

Lynn Winebarger owinebar at indiana.edu
Thu Jan 25 16:44:29 EST 2007


Quoting Michael Sperber <sperber at informatik.uni-tuebingen.de>:
>
> The fact that the convenient syntax for writing recursive procedures
> is part of `let' is a long-standing wart in the syntax of Scheme.  It
> is unintuitive (it expands into `letrec', rather than a simpler form
> of `let), difficult to explain to newcomers to Scheme, and
> disconcerting to the casual reader.
>

    Let me say, as a heavy user of Scheme and named let,
"NNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO!!!!!!!!!!!!!!!!!!!!!".
    In this case, the non-uniformity of the syntax is not a wart.  It
is deliciously correct, short and sweet.  A "rec" form would not (in
its usual incarnation) let you put initial values in the parameters,
which is exactly what makes named let so great.  letrec is so ugly when
used for the same purposes.
    Oh, and named let is not another name for "loop".  It's for
recursion every which way you want it.
    Please, please, do not take named let away from me!

Thanks for your consideration,
Lynn








More information about the r6rs-discuss mailing list