what are #!KEY &c.? Taylor R. Campbell (11 Apr 2006 19:32 UTC)
Re: what are #!KEY &c.? Marc Feeley (11 Apr 2006 20:45 UTC)
Re: what are #!KEY &c.? Per Bothner (11 Apr 2006 20:51 UTC)
Re: what are #!KEY &c.? Marc Feeley (11 Apr 2006 21:27 UTC)
Re: what are #!KEY &c.? Donovan Kolbly (11 Apr 2006 21:28 UTC)

Re: what are #!KEY &c.? Marc Feeley 11 Apr 2006 20:44 UTC

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).

Marc