This repository has been archived on 2023-08-20. You can view files and clone it, but cannot push or open issues or pull requests.
yap-6.3/Logtalk/examples/NOTES

142 lines
3.9 KiB
Plaintext
Raw Normal View History

=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.18.0
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
=================================================================
This folder contains several examples of Logtalk programs. A brief
description of each example is included below.
Each example contains a NOTES file and a loader utility file that may
be used to load all the example entities. In addition, most examples
contain a SCRIPT file with sample queries for your to try.
Most of these examples need objects, protocols, and categories that
are defined in the Logtalk standard library or in other examples, so
you should load them first (see the NOTES files inside the library
folder and the NOTES file inside each example folder).
Some examples may redefine objects already loaded from other examples.
You may want to restart Logtalk after trying each example.
Some of the examples code have been adopted from public available
Prolog code and from known Prolog text books and are copyrighted by
the respective authors.
These are programming examples, meaning that you should study the
source files to fully understand them.
All examples are formatted using four spaces tabs.
By default, compiling an example generates a .xml documenting file for each
compiled entity (object, category, or protocol). See the xml sub-directory
for instructions on how to browse the .xml files for on-line reading or how
to convert the files to a print-ready format such as PDF.
Here is a short description of each included example:
birds
bird identification expert system
example adopted from the Adventure in Prolog Amzi! book
bricks
example of representation and handling of relations using events
classvars
example of implementation of class variables (as found in Smalltalk)
dcgs
examples of using DCG rules inside objects and categories
dynpred
example of using some of the built-in database handling methods
errors
example showing the Logtalk compiler warning and error reporting
inheritance
examples of public, protected and private inheritance with both
prototypes and classes/instances
instmethods
example of instance defined methods
lo
examples adopted from the Francis G. McCabe L&O system
logic
example of a translator of logic propositions to clauses in conjunctive
normal form
lpa
examples adopted from the LPA Prolog++ system
metapredicates
example of using metapredicates in Logtalk objects
metainterpreters
some examples of simple metainterpreters
mi
multi-inheritance examples
miscellaneous
unsorted examples
msglog
example of using events and monitors for recording, replaying, and
printing user messages
operators
example of using operators local to objects and categories
parametric
simple example of parametric objects
poem
examples adopted from the Ben Staveley-Taylor POEM system
points
example adopted from SICStus Objects documentation
polygons
example of representation and handling of relations using events
profiling
examples of using of events and monitors to implement profilers
puzzles
several examples of logical puzzles
reflection
example of a simple class-based reflective system
relations
objects implementing predicates for dealing with relations and
constrained relations between objects
roots
objects, protocols and categories needed by most of the other examples
searching
state-space searching framework
example adopted from Ivan Bratko's "Prolog Programming for Artificial
Intelligence" book
shapes
geometric shapes implemented as both a prototype hierarchy and a class
hierarchy
sicstus
examples adopted from SICStus Objects documentation
symdiff
example of using parametric objects to implement symbolic expression
differentiation and simplification
viewpoints
example on how to implement property and value sharing with prototypes