[r6rs-discuss] [Formal] Rename named `let'
Robby Findler wrote:
> I think Mike would be happy merely renaming named let to something
> else, not taking it away. Do you really care if it begins with the
> letters l-e-t or some other letters (legacy code aside)?
Yes. Whoever came up with the idea of allowing labeling of a let form
did a great service to the language. I also took a while to get used to
it, but I wouldn't want to go back. I strenuously object to it being
considered a wart.
Another way to look at the issue is to see the base form of let as
the special/degenerate case where the let is not labeled.
Correspondingly, it would be nice to have lambda be name-able, but that
would not work with the variable argument syntax. It also hits a sweet
spot where you don't need mutual recursion.
Names do matter, and I think being able to bind the entry point as
well as the arguments is elegant. How does removing this expressiveness
improve the language?
I think rec or recur is pretty awful for the name of a binding form.
In fact, I use (let recur (...) ...) and (let loop (...) ...) to indicate
what kind of recursion the procedure engages in, mostly because those
names make sense as _actions_, not as binders, if that makes sense.
I don't see why newbies not understanding how this works lessens its
value. After all, the discovery that lambdas are just labels with
arguments is fundamental to Scheme.
Lynn
Received on Thu Jan 25 2007 - 19:10:55 UTC
This archive was generated by hypermail 2.3.0
: Wed Oct 23 2024 - 09:15:01 UTC