[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
SRFI 31 procedure vs. named-lambda (2)
Date: Fri, 31 May 2002 11:38:47 +0200
From: "Dr. M. Luedde" <Mirko.Luedde@xxxxxxxxxxxx>
My point of view by now is the following.
- MIT Scheme's `named-lambda' does not provide what SRFI-31 is
looking for and it does so by will, not by accident.
Actually, it used to. But we changed it long ago as it was believed
to be confusing.
- R2RS Scheme's `named-lambda' probably didn't either.
R2RS defined NAMED-LAMBDA to bind its name as a recursive reference to
And even if it did, it's not in the Reports anymore for
There was a great deal of discussion of this point, which led to the
decision to drop NAMED-LAMBDA and REC from R3RS. It wasn't purely on
the grounds of minimalism. See the archives at
In our case this sort of minimalism (which cannot be the
ultimate goal anyway) contradicts another important principle,
namely that of separation of concerns - stateless vs. imperative
I'm not sure how this factors into it. You can always use LETREC to
achieve the same result, and it's stateless.
In conclusion I believe that `procedure' fills in a gap that obviously
exists at present and it does neither contradict any of Scheme's
principles, nor any previous decisions of Scheme's designers and
Interestingly, there was a proposal during the 1986 discussions to
rename REC as PROCEDURE. This was shot down for a variety of reasons.