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:
End to date, ams 980124