This is the mail archive of the guile@cygnus.com mailing list for the guile project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: keywords




> I work on a project in Scheme where I use Guile for development
> (interactive debugging) and Bigloo (scheme to C compiler) for
> production.  
>
> I would like to use the keyword features, but bigloo says that
> according to DSSSL, keywords are <ident>: as for Guile they are
> :<ident>

Guile now uses #:ident as the normal syntax for keywords, and has a
reader option (off by default) to recognize the :ident syntax as
well. According to R4RS, both :ident and ident: should be treated as a
symbol, There is Scheme code out there that depends on identifiers of
both forms being symbols. 


> What does this DSSSL document specify?  (BTW, where can I find it
> on-line?)  
>

A lot of info on DSSSL can be found off of http://www.jclark.com/dsssl/

> What's the right syntax for keywords? Is it possible for Guile to
> recognize <ident>: keywords as well?

It depends on what you mean by "right". Common Lisp and most
traditional Lisp systems use :ident for keywords, DSSSL (and
apparently some Scheme implementations) use ident:, and R4RS says
neither of these may be a non-symbol. Since keywords are a
non-standard extension to Scheme, there's no absolute agreement on
what the correct syntax is.

 - Maciej Stachowiak