Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!swrinde!zaphod.mps.ohio-state.edu!think.com!mintaka!bloom-beacon!dont-send-mail-to-path-lines From: jonl%kuwait@lucid.COM (Jon L White) Newsgroups: comp.lang.scheme Subject: Destructuring / pattern-matching (was: Multiple return values) Message-ID: <9104151943.AA10970@kuwait> Date: 15 Apr 91 19:43:04 GMT References: <9104151633.AA16272@garlic.Stanford.EDU> Sender: daemon@athena.mit.edu (Mr Background) Organization: The Internet Lines: 51 re: It just takes one conservative member of the team to demand that no macros be used for trivial extensions; and this rules out the one-liner JONL-BIND in favor of the three-lines involving LET, DESTRUCTURING-BIND, and MULTIPLE-VALUE-BIND. I sure hope they don't feel the same way about procedures. :-) If not, I think that they should consider for a while why procedural abstraction is acceptable, but abstration using macros is not. . . . I wouldn't be so sure about this. The problem is one of complexity -- current buzzword: MegaProgramming -- and not of whether the interface is procedureal, functional, meta (macros and "hooks"), or what-not. re: The logical extension of this argument is CommonLisp. Dump so much in the language that noone can ever imagine extending it in any way. If you do find a way, just go to the CL standard committee and they will add it to the next release. :-) Since you mention the word "release", I must assume you are referring to the history of the MIT Lisp Machine project, and its notable commercial follow-on (Symblics), wherein new and often incompatible "releases" occured nearly every six months. Indeed, in the time period between 1978 and 1985, one could substantiate the charge you make; but the X3J13 committee (for CL standards) has yet to make a "release". So how did Common Lisp come by the reputation you mention (I am, sadly, acknowledging a "ring of truth" if not complete factuality to your comment)? First, recall that Common Lisp is the evolutionary extension of a series of Lisps beginning with the historic "1.5" at MIT nearly 30 years ago -- progressing through CTSS Lisp (ever hear of the "Compatible Time Sharing System?"), PDP6 Lisp, PDP10 MacLisp, LispMachineLisp, SPICELisp, and so on. A bit of middle-aged fat is beginning to show. But perhaps more importantly is the influence during the early 1980's of the idea that "Lisp" is the world's best programming _environment_. A parallel with the Unix world is (1) a computer language usually known by it's one-letter name, (2) an enormous non-standard set of library routines and utilities [although some standards bodies are addressing this question.] It's probably too late for Common Lisp ever to go back to a pure "kernel" language idea, but some of the "stock hardware" vendors of Common Lisp implementations have indeed been trying to unbundle pieces of the MonsterLispMachine inheritance from the required part of a Lisp system. [Contact me privately for details on what is happening; or, contact your favorite vendor's salesman; but please try to resist any intrusion of a "Marketing Blitzkrieg" into this email list, as has already happend on some other lists.] -- JonL --