This page is part of the web mail archives of SRFI 88 from before July 7th, 2015. The new archives for SRFI 88 are here. Eventually, the entire history will be moved there, including any new messages.
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.