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

Re: what are #!KEY &c.?

On 11-Apr-06, at 3:32 PM, Taylor R. Campbell wrote:

Are these symbols?  Keywords?  A wholly new, disjoint type of data?  I
can't find this in the specification; there's only a brief remark
about it in the section on implementation, but this is very important
since these are otherwise ill-defined data in S-expressions.

Good point.

The only requirement is that #!optional, #!key and #!rest be distinct objects (i.e. not eqv? to anything else). The #!foo syntax adopted by DSSSL is probably inspired from the R2RS which had the #!true, #! false, and #!null syntax for true, false and the empty list. Some Scheme systems still use the #!foo syntax for some objects (Gambit and Chez Scheme use #!eof to denote the end-of-file object).