Node:Keyword Read Syntax, Next:Keyword Procedures, Previous:Coding With Keywords, Up:Keywords
Guile, by default, only recognizes the keyword syntax specified by R5RS.
A token of the form #:NAME
, where NAME
has the same syntax
as a Scheme symbol (see Symbol Read Syntax), is the external
representation of the keyword named NAME
. Keyword objects print
using this syntax as well, so values containing keyword objects can be
read back into Guile. When used in an expression, keywords are
self-quoting objects.
If the keyword
read option is set to 'prefix
, Guile also
recognizes the alternative read syntax :NAME
. Otherwise, tokens
of the form :NAME
are read as symbols, as required by R5RS.
To enable and disable the alternative non-R5RS keyword syntax, you use
the read-set!
procedure documented in User level options interfaces and Reader options.
(read-set! keywords 'prefix) #:type => #:type :type => #:type (read-set! keywords #f) #:type => #:type :type -| ERROR: In expression :type: ERROR: Unbound variable: :type ABORT: (unbound-variable)