Data::SExpression::Symbol(3p)

NAME
Data::SExpression::Symbol -- A Lisp symbol read by Data::SExpression

DESCRIPTION
A Data::SExpression::Symbol represents a lisp symbol. Symbols are usually used as opaque objects that can be compared with each other, but are not intended to be used for other operations.

There are two kinds of symbols, "interned", and "uninterned". Most symbols are "interned". There is only ever one "interned" instance of the "Symbol" class for a given name.

STRINGIFICATION AND COMPARISON
Interned symbols stringify to their ->name. Uninterned symbols stringify to "#:$name", after the Common Lisp convention.

Interned symbols are eq to their name. Uninterned symbols are not eq to anything except themself.

  new NAME
Returns a new interned symbol with the given NAME

  uninterned NAME
Returns a new uninterned symbol with the given NAME

  name
Returns the symbol's name, as passed to "new" or "uninterned".

  interned
Returned true iff the symbol is interned

SEE ALSO
Data::SExpression

AUTHOR
Nelson Elhage <nelhage@mit.edu>