This page is part of the web mail archives of SRFI 31 from before July 7th, 2015. The new archives for SRFI 31 contain all messages, not just those from before July 7th, 2015.
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 the procedure: http://www.swiss.ai.mit.edu/ftpdir/scheme-mail/HTML/rrrs-1984/msg00013.html And even if it did, it's not in the Reports anymore for minimalistic reasons. 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 http://www.swiss.ai.mit.edu/ftpdir/scheme-mail/HTML/rrrs-1986/threads.html 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 programming. 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 implementors. Interestingly, there was a proposal during the 1986 discussions to rename REC as PROCEDURE. This was shot down for a variety of reasons.