An important class of data structures are the lists.  These are essentially
the same as the lists of Lisp.  A list either is the atom:-

                                       []

representing the empty list, or is a compound term with two arguments which
are  respectively  the  head  and tail of the list.  Lists are entered in a
special notation.  A list of the first three natural numbers is written as:

                                   [1, 2, 3]

The special list notation in the case when the tail of a list is a variable
is exemplified by:-

                              [X, ..L] [a, b, ..L]

For compatibility with Prolog-10, this may also be written as:

                                [X|L] [a, b | L]
