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:

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

Procedure: keyword? obj

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

Procedure: keyword->string keyword

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

Procedure: string->keyword string

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