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

Which constants must be quoted?

I agree with Jonathan that unevaluable data errors are useful in debugging and
we shouldn't define all random objects to self-evaluate or we'll just delay
the error-detection process to no good end.

For cleanliness reasons, I wish we could make numbers, etc. not self-evaluate.
I guess we can't do that without distinguishing numbers from numerals, etc.
and I guess none of us are ready to do anything that radical.

So as a compromise condition, I think we should limit the set of self-evaluating 
data to not include things for which there is no re-readable print syntax. The
rationale would be that things which you can type in can reasonably be expected
to occur in programs and things which you cannot are likely to be errors. QUOTE,
of course, could be used to say "I really mean this". So strings, numbers, true,
false, etc. would therefore be self-evaluating. The empty list is arguably a 
special case because its type is already defined to refer to combinations and
it is empty, so I think it should be an error and you should have to say '().