!TITLE Preface
!KEY
This manual describes the EMAS 2900 version of Prolog.

Prolog  is  a  simple but powerful programming language originally developed at
the University of Marseilles, as a practical tool  for  programming  in  logic.
From  a  user's  point  of view the major attraction of the language is ease of
programming.  Clear, readable, concise programs can be written quickly with few
errors.  Prolog is especially suitable  for  high  level  symbolic  programming
tasks and has been applied in many areas of Artificial Intelligence research.

The  EMAS  Prolog  system  was  written  by Luis Damas of the Dept. of Computer
Science, Edinburgh.  The system consists of a Prolog  interpreter  and  a  wide
range  of  evaluable  predicates  (system provided procedures).  Its design was
based on the  (Edinburgh)  DEC10  Prolog  system  and  the  system  is  closely
compatible  with  DEC10 Prolog and thus is also reasonably close to UNIX Prolog
and RT11 Prolog.

Queries, suggestions, bug reports, and so forth should  be  sent  to  the  EMAS
Prolog maintainers by using the Prolog evaluable predicate:

            | ?- gripe.

You  will  be  prompted  for  text which will then be mailed to the appropriate
person.  Emas Prolog is currently being maintained by Lawrence Byrd  and  Peter
Ross  in  the  Artifificial  Intelligence  Department.    This facility is also
available as an EMAS command, once you have the directory CONLIB.PROLOG      in
your searchlist - which you need to run Prolog anyway:

            Command: gripe

If  you  would  prefer  to  use the EMAS MAIL program then queries etc.  can be
mailed to "Prolog".

Note, however, that this manual is not  intended  as  an  introduction  to  the
Prolog language and how to use it.  For this purpose you should study:

            Programming in Prolog
            William Clocksin & Chris Mellish
            Springer Verlag  1981

This  manual  assumes  that  you are familiar with the principles of the Prolog
language, its purpose being to explain how the EMAS Prolog system is used,  and
to describe all the evaluable predicates that the system makes available to the
user.

