[pro] About &aux

Scott L. Burson Scott at sympoiesis.com
Sun Jun 12 19:56:54 UTC 2011


On Sun, Jun 12, 2011 at 7:00 AM, Daniel Weinreb <dlw at 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é <fahree at 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




More information about the pro mailing list