On Sun, Jun 12, 2011 at 7:00 AM, Daniel Weinreb <d...@alum.mit.edu> wrote: > I, myself, really dislike &aux. > > I don't even like > > (let (a b c) ...)
Agreed on both counts. &aux is just gross. Like LOOP :-) <ducks> As for read-only variables -- yes, it would have been nice if Lisp had used ML-style references(*) from the beginning. I understand many Scheme compilers have to perform this transformation anyway -- locating local variables subject to assignment, and consing heap cells to hold their values -- in order for continuation capture to work correctly in the presence of assignment. (* But I don't like "reference" as a term for this concept; "cell" is better.) On Sun, Jun 12, 2011 at 8:08 AM, Faré <fah...@gmail.com> wrote: > Also, binding forms are annoying in that they are verbose > and move the body to the right as you nest them. > Instead of any ad-hoc do-it-all binding macro, > I like this macro from Marco Baringer that does nesting for you: I use multiple values far too much to tolerate typing MULTIPLE-VALUE-BIND all the time. So I am very much a fan of my binding macro, which I protest is not ad hoc at all -- it generalizes LET, LET*, and MULTIPLE-VALUE-BIND in any combination, less verbosely and with less moving of the body to the right. It's also upward compatible with CL:LET. In case anyone's interested, it's at http://common-lisp.net/project/misc-extensions/ It doesn't do destructuring, though, so I suppose it's not quite "do-it-all". Maybe someday I will integrate fare-matcher. > Yet Pascal just offered a portable implementation [of read-only variables]! > > Here's mine. > [snip] Very cute. I might start using this. -- Scott _______________________________________________ pro mailing list pro@common-lisp.net http://lists.common-lisp.net/cgi-bin/mailman/listinfo/pro