[net.sources] Prolog library

pereira@sri-unix.UUCP (08/15/83)

I am going to start submitting to net.sources the Prolog library that I
have accumulated at SRI.  Most of the programs come from the Department
of Artificial Intelligence at Edinburgh, who have authorized me to
distribute this material.

The programs are available on directory <PROLOG> at SRI-AI, and are now
being submitted to net.sources.  They are all accessible on ARPANET to
an anonymous FTP login.

The programs have been tested on DEC-10s and DEC-20s with the Edinburgh
Prolog system.  They might need minor changes to run under other Prolog
systems, such as C-Prolog.

Copy and enjoy!

Fernando Pereira
Artificial Intelligence Center
SRI International

======================================================================

* The utilities package from the Department of Artificial Intelligence,
  University of Edinburgh. Contributors include Alan Bundy, Lawrence
  Byrd and Richard O'Keefe.

util		The top level file, which loads all the others
	
util.hlp	A minimal (and outdated) help file

writef.pl	Formatted write (writef)
trace.pl	Tracing routines
readin.pl	Read in a sentence
listro.pl	List routines
setrou.pl	Set routines
applic.pl	Application routines
multil.pl	Multi list routines
flagro.pl	Flag handling
struct.pl	Structure crunching
cmisce.pl	Miscellaneous
long.pl		Rational arithmatic package
tidy.pl		Expression tidy/evaluator
invoca.pl	Invocation routines
imisce.pl	Miscellaneous (interpreted)

writef.hlp	Documentation for the formatted write

Supplement to UTIL, by Richard O'Keefe

multil.pl	replaces the one above
occur.pl	subterm occurs in term
listut.pl	replaces listro.pl above
metutl.pl	metalogical operations
not.hlp		debugging not/1 checks unbound vars
not.pl		Prolog code for not/1
ordset.pl	ordered set utilities
applic.pl	replaces the one above
setutl.pl	set utilities
struct.pl	general term hacking


* Pretty printer and utilities from Harry Barrow, Fairchild.

pp		Pretty printer
utils		Utilities

* Tutorial programs and text by Ernie Davis and Udi Shapiro, Yale and
  Weizmann Institute.

tutori.pl	Programs
tutori.lpt	Text

* Teach-yourself Prolog program, by William Wong, Rutgers.
  To run it, load it into Prolog and then call the predicate 'hi'.

cai.pl

* Prolog cross-reference program from Edinburgh

xref.hlp	Documentation (ignore the installation-specific stuff)
xref.pl		The cross-referencer (compile it, otherwise it will
		run out of space very quickly)

* Richard O'Keefe's Prolog ToolKit.
  Richard has started to develop an integrated Prolog toolkit. A nice
  feature is a general help facility that allows interactive perusal of
  keyword-indexed help files from inside Prolog. I have made some minor
  modifications to make the toolkit behave better with TOPS-20 filenames,
  but there might be other installation dependencies. In my version,
  all files mentioned in the code come from directory <prolog>.

toolkit.hlp	The basic help file for the ToolKit distribution
toolkit.pl	Compiles and sets up the toolkit. It should be loaded
		on top of the Edinburgh UTIL package (you can avoid this
		if you scan the "imports" comments to find which UTIL
		predicates are used, and load just those).

helper.pl	Prolog help facilities, hacked for TOPS-20.
helper.hlp	Help for help.

pp.pl		Program pretty-printer and browser (has a nice partial match
		facility for predicate and functor names). Do not confuse with
		pp., Harry Barrow's term pretty-printer
pp.hlp		Help for the same.

ixref.pl	Interactive cross-referencer (based on XREF above, but nicer).
ixref.def	Initial knowledge for the cross-referencer.
ixref.hlp	Help.

count.pl	Counts the number of clauses in Prolog files (for the "largest
		Prolog program" award).
count.hlp	Help.

vcheck.pl	Checks Prolog files for nonanonymous variables occurring only
		once in a clause; invaluable!
vcheck.hlp	Help.

* More useful bits, again from Richard O'Keefe

nread.pl	Converts a token list into a Prolog term: an
		user-modifiable of the Prolog system 'read'.
rdtok.pl	Convenient interface to the tokenizer of DEC-10/20
		Prolog (only works with recent versions of the
		system).
advice.pl	Advise interpreted procedures a la INTERLISP.