Value, definition of a method, class and vector of properties can be connected with a symbol or with its name. Besides different data can be connected with a symbol, looking in what space of names it to consider.
For reading and checks of values of various system properties exist the predicates and functions.
| Value | boundp |
| Class | getclass |
| Method | getmethod |
| Properties | get |
Appearance (name) of a symbol can be studied, having transformed it at string, for example, function string which returns a string of a name of atom as value:
>('H2O string)
"h2o"
The name can be broken into characters, having made from them the list with function list:
>(('H2O string) list)
(#\h #\2 #\o)
In the new form of representation it is possible to work with single characyers, with them it is possible to carry out calculations and to build of them new symbols. It is necessary, for example, for work with words of a natural language.
For creation of a symbol it is possible to use function symbol which includes in system, enters into the list of objects and in space of names a symbol with a name set in the string.
>("C2H5OH" symbol)
c2h5oh
For creation of symbols it is possible to use the Lisp generator of symbols (symbol gensym) which can generate new symbols. The name of a symbol is made of a set initial symbol and from a serial number of a generated symbol as a suffix:
>('symbol- gensym)
symbol-1
>('symbol- gensym)
symbol-2
>(nil gensym)
t3 ; t - is begin by default
It is guaranteed, that the symbol returned by function always is new: if, for example, a symbol symbol-2 would be for any reason already in the list of objects gensym would return as value a symbol following on the order symbol-3 (if it was not already in the use).