[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Taste
Sorry, I mispelled ``palatable.''
I was under the impression that people on this list were not required
to explain why they thought something was in bad taste nor provide
alternatives. Jonathan wrote recently:
``I would strongly oppose the Common Lisp multiple value semantics. I
find it to be very distasteful.''
There was no further discussion of reasons or alternatives.
The line:
(LAMBDA (X Y Z . R) ...)
puts a lot semantic emphasis on the character `.'. It relies on a joke
involving the (coincidental) underling data structure that is sometimes
used to represent expressions. The line that starts
(OPTIONALS ...)
is simply a recovery from the language design error reflected on the
previous line.
I think that if we (may I be so bold?) are considering a richer
parameter-passing language, we should carefully consider and decide what
information we wish to have expressed regarding how variables will be
bound upon function entry. Possibly we want to define a language for
passing structures of various types which will then be decomposed and bound
upon function entry - this would be much like alien structure languages
in some languages.
The advantage of Common Lisp &-markers is that it is relatively clear that
something funny is going on, and a programmer doesn't have to rely on a
human reader to always see the tiny `.'.
If the strategy is to be able to pass an arbitrary number of arguments,
then a syntax that binds one variable to all of them following by a
pretty destructuring bind of some sort is much better than a
syntax that mixes required with &rest (as Jonathan suggested).
-rpg-