[plt-scheme] upcoming change in PLT Scheme v300

From: Daniel Pinto de Mello e Silva (daniel.silva at gmail.com)
Date: Fri Apr 1 00:56:53 EST 2005

He's posted from his Gmail account before.  If not here, at least on
the LL1 list.

Daniel

On Apr 1, 2005 12:42 AM, Corey Sweeney <corey.sweeney at gmail.com> wrote:
>   For list-related administrative tasks:
>   http://list.cs.brown.edu/mailman/listinfo/plt-scheme
> 
> wait a second.  That came from shriram at gmail.com  shrirams email
> address is sk at cs.brown.edu.
> 
> Corey
> 
> On Mar 31, 2005 11:10 PM, Shriram Krishnamurthi <shriram at gmail.com> wrote:
> >   For list-related administrative tasks:
> >   http://list.cs.brown.edu/mailman/listinfo/plt-scheme
> >
> >                 The Fate Of LAMBDA in PLT Scheme v300
> >                                   or
> >                    Lambda the Ultimate Design Flaw
> >
> > About 30 years ago, Scheme had FILTER and MAP courtesy of Lisp hackers
> > who missed them from their past experience.  To this collection,
> > Scheme added a lexically-scoped, properly-functioning LAMBDA.  But,
> > despite of the PR value of anything with Guy Steele's name associated
> > with it, we think these features should be cut from PLT Scheme v300.
> >
> > We think dropping FILTER and MAP is pretty uncontroversial; (filter P
> > S) is almost always written clearer as a DO loop (plus the LAMBDA is
> > slower than the loop).  Even more so for (map F S).  In all cases,
> > writing the equivalent imperative program is clearly beneficial.
> >
> > Why drop LAMBDA?  Most Scheme users are unfamiliar with Alonzo Church
> > (indeed, they don't even know that he was related to Guy Steele), so
> > the name is confusing; also, there is a widespread misunderstanding
> > that LAMBDA can do things that a nested function can't -- we still
> > recall Dan Friedman's Aha! after we showed him that there was no
> > difference!  (However, he appears to have since lapsed in his ways.)
> > Even with a better name, we think having the two choices side-by-side
> > just requires programmers to think about their program; not having the
> > choice streamlines the thought process, and Scheme is designed from
> > the ground up to, as much as possible, keep programmers from thinking
> > at all.
> >
> > So now FOLD.  This is actually the one we've always hated most,
> > because, apart from a few examples involving + or *, almost every time
> > we see a FOLD call with a non-trivial function argument, we have to
> > grab pen and paper and imagine the *result* of a function flowing back
> > in as the *argument* to a function.  Plus, there are *more* arguments
> > coming in on the side!  This is all absurdly complicated.  Because
> > almost all the examples of FOLD we found in practice could be written
> > as a simple loop with an accumulator, this style should be preferred,
> > perhaps with us providing a simple helper function to abstract away
> > the boilerplate code.  At any rate, FOLD must fold.
> >
> > --The PLT Scheme Team
> >
> >
> 
>



Posted on the users mailing list.