
This is an attempt to make some standardised libraries for Sicstus Prolog
0.6/0.7 based on the Edinburgh Dec10 library and some of my own code.

To boot-strap, you need the line:

['/usr/local/lib/prolog/LibBoot'].

in your code** presuming that the prolog library is in
"/usr/local/lib/prolog".  This declares 'library_directory' to be
multi-file/dynamic as well as giving you the predicate user_library/1 which
allows you to include the appropriate library, and library_list/0 which
gives you a list of currently defined libraries.

** You could also put the line in your .sicstusrc file.

The library files are wrappers to the actual code.  For much-used
predicates, the code is stored in a one-predicate-per-file basis in the
subdirectory "predicates".  For other self-contained collections of
predicates, they are stored in multi-predicate files in the subdirectory
"collections".


Libraries have 4 directives:

	:- library_description(LibName,Description).
	:- library_publics(LibName,PubList).
	:- library_includes(LibName,IncludeList).
	:- library_dependencies(LibName,DependList).

where PubList = a list of predicate specifications for the predicates
		that are intended to be known to the user of the library.

IncludeList   = a list of files that contain definitions of public predicates
		or predicates that support them. CANNOT CONTAIN REFERENCES TO
		OTHER LIBRARIES.

DependList    = a list of files that contain predicates called (directly
		or indirectly) by the public predicates. MAY CONTAIN REFERENCES
		TO OTHER LIBRARIES.

When making a library, there are some tools to help you.  Typing
"libchecker."  will load the loadbrary checking routines, principally the
predicate check_library/1 which takes as argument the name of a library
(remember, a library file is "lib" prefixed to the name of the library,
e.g., the library "io" is in the file "libio.pl").

INSTALLATION
============

The only thing that needs to be changed is the library_directory commands in
"LibBoot.pl".  They should reflect your setup.


The subdirectory "utils" contains various bits and pieces for maintaining
the library.

-Afzal Ballim 16/2/1993
