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


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


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).