[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Destructuring syntax
- To: DLW at MIT-MC, dick at MIT-AI
- Subject: Re: Destructuring syntax
- From: Jon L White <JONL at MIT-MC>
- Date: Mon ,2 Feb 81 10:08:00 EDT
- Cc: LISP-FORUM at MIT-MC, LISP-DISCUSSION at MIT-MC, CLR at MIT-MC
Dan, I think you're being far far too conservative in your opion about
extending lambda-binding:
Date: 2 February 1981 02:56-EST
From: Daniel L. Weinreb <dlw at MIT-AI>
. . . Destructuring is new functionality; there should be a
new special form that does it. . . .
Modifying all lambda-binding special forms to have a
feature that has nothing to do with lambda-binding is what I object to.
In the LISP RECENT note (now in the LISP NEWS file) dated "Jan 27,1979"
there was presented a very succinct bnf syntax for "lambda-lists", which
would take care of LET, DEFUN, DO, PROG etc. (see item 3b in that note).
In fact, only DEFUN now allows the & keywords, and Quux later sent an
addeddum giving some ideas on how &optional and &rest could be added to
the others.
This syntax is ** fully-upward compatible **, and entirely unabmiguous
(as the bnf shows); The fact that many ordinary users are rudely
suprised when they find it is unavailable on the LISPM shows that it
must be a "natural" extension too. In fact, at other non-MIT sites
this sort of "destructuring" in the lambda-list has been independently
invented and used, but private conversations with these types usually
meets extreme resistance to the & keywords (even now, KMP still objects
to it, and has other ways of doing these things).
As far as I know, LISPM/MacLISP/NIL is the only dialect supporting the
& keywords, but lots of others support destructuring. I'd be interested
in hearing some non-MIT, non-hacker ideas on this.