On 11-Apr-06, at 3:23 PM, Taylor R. Campbell wrote:
> I'm missing one part of the rationale: Why do we need a separate data
> type? Even in Common Lisp, keywords are symbols.
The main use of keywords is for specifying named optional
parameters. A SRFI specifying named optional parameters (which is an
extension of the DSSSL parameter passing syntax) was submitted to the
SRFI editors at the same time as SRFI 88 so it should be out soon. I
may have more to say at that point, but basically it is to allow
better error checking at compile time and better code generation
(when the compiler can prove that a particular value in the actual
parameter list is or is not a keyword). Moreover, keywords and
symbols are distinct types in DSSSL. It makes sense to do the same
to avoid gratuitous incompatibility with DSSSL.
Marc