[r6rs-discuss] [Formal] Rename named `let'

From: Michael Sperber <sperber>
Date: Thu Jan 25 15:47:32 2007

---
This message is a formal comment which was submitted to formal-comment_at_r6rs.org, following the requirements described at: http://www.r6rs.org/process.html
---
Submitter: Mike Sperber
Email address: sperber at deinprogramm dot de
Issue type: Defect
Priority: Minor
Component: Base library
Report version: 5.92
Summary: Rename named `let'
Issue:
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.
How to fix:
If the syntax needs to be integrated with one of the standard binding
forms, it should be `letrec', not `let'.  However, it would be much
better to rename named `let' to something else such as `rec', `recur'
or `recursive'.
As this would break many existing Scheme programs, the report might
introduce the separate form, and, to ease the transition, keep named
`let' for now, either putting it into a separate library alongside
(r6rs mutable-pairs) or at least marking it as deprecated and likely
to disappear in a future revision of the report.
Received on Thu Jan 25 2007 - 04:16:24 UTC

This archive was generated by hypermail 2.3.0 : Wed Oct 23 2024 - 09:15:01 UTC