Node:Keywords, Next:, Previous:Special named constants, Up:Extensions



Keywords

Keywords are similar to symbols. The main difference is that keywords are self-evaluating and therefore do not need to be quoted in expressions. They are used mainly for specifying keyword arguments.

     keyword ::= identifier:
     

An alternative syntax, with the colon first, is supported for compatibility with Common Lisp and some other Scheme implementations:

     keyword ::= :identifier
     

Putting the colon first has exactly the same effect as putting it last; putting is last is recommended, and is how keywords are printed.

A keyword is a single token; therefore no whitespace is allowed between the identifier and the colon (which is not considered part of the name of the keyword).

keyword? obj Function
Return #t if obj is a keyword, and otherwise returns #f.

keyword->string keyword Function
Returns the name of keyword as a string. The name does not include the final #\:.

string->keyword string Function
Returns the keyword whose name is string. (The string does not include a final #\:.)