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

A keyword data type

The comments I've heard so far about keywords lead me to believe that
there shouldn't be a keyword package at all; instead, there should be a
keyword data type, i.e., a data type of symbolic literals.  A keyword data
object always evaluates to itself and has only one user-visible component,
its print name.

Because of their simplicity, keywords can be implemented more efficiently
than symbols (although this is probably of negligible consequence).  What's
more important is that the integrity of keywords can no longer be
compromised as it is now.  I find this approach to be cleaner than making
the keyword package "special" and more in line with the use of keywords in
CLtL.  (Additional aspects of keywords should probably include the notion
of an uninterned keyword and a set of generic operations that can be applied
to keywords and symbols.)  Is there any reason that keywords must be symbols?