The  structured  data  objects  of  the language are the compound terms.  A
compound  term  comprises  a  functor  (called the principal functor of the
term)  and  a sequence of one or more terms called arguments.  A functor is
characterised  by  its  name,  which is an atom, and its arity or number of
arguments.  For example the compound term whose functor is named 'point' of
arity 3, with arguments X, Y and Z, is written:-

                                  point(X,Y,Z)

Note that an atom is considered to be a functor of arity 0.


Functors  are generally analogous to common nouns in natural language.  One
may  think  of  a  functor as a record type and the arguments of a compound
term  as  the  fields of a record.  Compound terms are usefully pictured as
trees.  For example, the term:-

                       s(np(john),vp(v(likes),np(mary)))

would be pictured as the structure:-
				    s
				 +--^--+
				 np    vp
				 |   +-^--+
				john v    np
				     |    |
				   likes mary
