PROLOG computer programming language

The following material can be viewed in MYSYS file [q14] which better displays the graphics. The following file contains all the pertinent text from [q14].

PROLOG is a programming language based on Logical LIST expressions.

A LIST has a head a. and tail b.

There are several conventions in logic for writing such expressions. Some are shown below. LISTS can be complicated because several heads and tails can be designated in one list.

 Examples:
     a.b.[]  is list where: a. is head, b. is tail
     b. is head, [] is tail (empty list)

     a vine diagram of a.b.[] is .__.__[]
                                 þ  þ
                                 a  b

            in PROLOG [a,b]

     PROLOG for separating head from tail [head|tail]

     Complicated PROLOG list [a,V1,b,[X,Y]]

         vine diagram .__.__.__.__[]
                      þ  þ  þ  þ
                      a  V1 b  .__.__[]
                               þ  þ
                               X  Y
 
A good reference on early prolog is: PROGRAMMING IN PROLOG; by Clarkson and Mellish. An inexpensive version of prolog (TURBO PROLOG) is produced by BORLAND software. Check your system directory for availability. The manual for this software is quite complete and a number of examples are included. Shareware versions of Clarkson & Mellish PROLOG are also available.

RROLOG's strong points are that it can be concise and it will process relationships described by words. It is not however a mainstream language and many of its implementations do not have the auxiliaries that are present for other system development languages. PROLOG type syntax can be produced in APL by the addition of a few appropriate functions.

Links:

  1. More on the PROLOG language
  2. APL introduction
  3. Computers, Introduction
  4. General List of Transportation Topics
  5. Intro. to Transport, a Physical and Quantitative approach
  6. TOPICS included in MYSYS
  7. Introductions to TOPICS included in MYSYS
  8. Time Value and Engineering Economy Topics
  9. Index of MYNET files

End to date, ams 980124