Next: Keyword Procedures, Previous: Coding With Keywords, Up: Keywords
Guile, by default, only recognizes a keyword syntax that is compatible
with 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)