[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Mary had a moby lambda



I don't buy the idea that because lambda is fundamental, lambda lists
ought to remain simple, at possible cost in convenience.  What prevents
us from decoupling the fundamental binding mechanism from this
useful and rapidly evolving function preamble, which is called "lambda
list" for purely historical reasons?  Then we would be free to
optimize for ease and clarity.  (If we could but define them.)

Take poor &AUX.  Intellectually, I agree with its detractors, but
typographically, the corresponding LET usually adds vertical
attenuation, which is sometimes exacerbated by the extra indentation.
So my code usually LOOKS BETTER with &AUX.

Also, here is a semantic desideratum for lambda list architects.
Multiple values, though still short of first class citizenship,
are very fundamental.  Currently, we can (in one &AUX or LET) bind
any number of variables to singleton values, but we must nest a
separate MULTIPLE-VALUE-BIND for each tuple of values.  I'd like
to see a :MULTIPLE syntax to permit capturing tuples and singletons
all at once.