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

Re: rationale?



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