An atom is identified by its name, which is a sequence of up to 65535 characters (other than the null character). An atom can be written in any of the following forms:
The characters that are allowed to occur in an unquoted atom are restricted to a subset of Unicode, see ref-syn-syn-tok.
+ - * / \ ^ < > = ` ~ : . ? @ # $ &
'can\'t'
.
The characters that are allowed to occur in an quoted atom are restricted to a subset of Unicode, see ref-syn-syn-tok.
! ; [] {}
Note that the bracket pairs are special: `[]' and `{}' are
atoms but `[', `]', `{', and `}' are not. The
form [
X]
is a special notation for lists (see
ref-syn-cpt-lis) as an alternative to .(
X,[])
, and
the form {
X}
is allowed as an alternative to
{}(
X)
.
a void = := 'Anything in quotes' []
WARNING: It is recommended that you do not invent atoms beginning with the character `$', since it is possible that such names may conflict with the names of atoms having special significance for certain built-in predicates.