GCLA is a logic programming language (specification tool) that is based on a generalization of Prolog. This generalization is unusual in that it takes a quite different view of the meaning of a logic program--a "definitional" view rather than the traditional logical view.
GCLA has a number of noteworthy properties, for instance the possibility to do hypothetical reasoning and non-monotonic reasoning. This makes implementation of reasoning in knowledge-based systems more direct in GCLA than in many other formalisms. GCLA is also general enough to incorporate functional programming as a special case.
A GCLA program is partitioned into two parts; a declarative part and a control part that specifies the inference rules. For an introduction to GCLA and its properties see [Kreuger 91]. For methodology and programming techniques see [Aronsson 91]. Further reading can be found in [Aronsson 93] and in [Falkman & Torgersson 94].
The GCLA package is documented in its own User's Manual, located in `library/gcla/doc/gcla.tex' (also available as technical report SICS T91:21A). To load the package, enter the query:
| ?- use_module(library('gcla/gcla')).