An atom is identified by its name, which is a sequence of up to 65532 characters (other than the null character). An atom can be written in any of the following forms:
_
),
starting with a lowercase letter. Note that an atom may not begin with
an underscore.
/*
, which begins a comment):
+ - * / \ ^ < > = ` ~ : . ? @ # $ &
Any sequence of characters delimited by single quotes, such as:
'yes' '%'
If the single quote character is included in the sequence it must be written twice, for example:
'can''t' ''''
For further details see ref-syn-syn-nte.
! ; [] {}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), and the form {
X}
is allowed as an
alternative to {}(
X)
.
Examples of atoms are:
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.