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

Re: Which constants must be quoted?



I agree with all your comments except the rationale for quoting the
empty list.  There is no such thing as an "empty combination", the
RRRS not withstanding.

There is a practical reason for allowing unquoted ().  If #!null
and #!false are just reader syntax for (), then requiring a quote
on () is tantamount to requiring a quote on #!null and #!false
(this is especially bothersome within the code for a syntactic
extension or other program transformation, where two quotes are
required to produce a quoted () in the expansion).

On the other hand, there sems to be no practical reason to require
the quote.  I can think of only two valid reasons to require the
quote: (1) to simplify the semantics of the language, or (2) to
allow the compiler to catch a common programming error.  I don't
believe either reason applies here.

Perhaps () should be recognized as the "empty special form" rather
than the "empty combination".  Of course, the empty special form
always evaluates to ().

Kent