2001-05-21 19:39:55 +01:00
|
|
|
=================================================================
|
|
|
|
Logtalk - Object oriented extension to Prolog
|
2004-06-06 23:46:45 +01:00
|
|
|
Release 2.17.1
|
2001-05-21 19:39:55 +01:00
|
|
|
|
2004-02-09 14:18:27 +00:00
|
|
|
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
|
2001-05-21 19:39:55 +01:00
|
|
|
=================================================================
|
|
|
|
|
|
|
|
This folder contains several examples of Logtalk programs. Most of
|
2001-12-05 23:57:48 +00:00
|
|
|
these examples need objects, protocols, and categories that are
|
2001-05-21 19:39:55 +01:00
|
|
|
defined in the Logtalk standard library or in other examples, so
|
2004-03-03 04:07:59 +00:00
|
|
|
you should load them first (see the NOTES files inside the library
|
2002-06-15 14:18:34 +01:00
|
|
|
folder and inside each example folder).
|
2001-05-21 19:39:55 +01:00
|
|
|
|
|
|
|
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.
|
|
|
|
|
2002-06-15 14:18:34 +01:00
|
|
|
These are programming examples, meaning that you should study the
|
2001-05-21 19:39:55 +01:00
|
|
|
source files to fully understand them.
|
|
|
|
|
|
|
|
All examples are formatted using four spaces tabs.
|
|
|
|
|
2002-08-26 17:45:50 +01:00
|
|
|
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
|
2004-03-03 04:07:59 +00:00
|
|
|
to convert the files to a print-ready format such as PDF.
|
2002-08-26 17:45:50 +01:00
|
|
|
|
2001-05-21 19:39:55 +01:00
|
|
|
|
|
|
|
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)
|
|
|
|
|
2003-04-02 14:57:50 +01:00
|
|
|
dcgs
|
|
|
|
example of using DCG rules inside objects and categories
|
|
|
|
|
2002-05-28 12:29:37 +01:00
|
|
|
dynpred
|
|
|
|
example of using some of the built-in database handling methods
|
|
|
|
|
2001-12-05 23:57:48 +00:00
|
|
|
errors
|
|
|
|
example showing the Logtalk compiler warning and error reporting
|
|
|
|
|
2001-05-21 19:39:55 +01:00
|
|
|
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
|
|
|
|
|
|
|
|
lpa
|
|
|
|
examples adopted from the LPA Prolog++ system
|
|
|
|
|
|
|
|
metapredicates
|
|
|
|
example of using metapredicates in Logtalk objects
|
|
|
|
|
2004-06-06 23:46:45 +01:00
|
|
|
metainterpreters
|
|
|
|
some examples of simple metainterpreters
|
|
|
|
|
2001-05-21 19:39:55 +01:00
|
|
|
mi
|
|
|
|
multi-inheritance examples
|
|
|
|
|
|
|
|
miscellaneous
|
|
|
|
unsorted examples
|
|
|
|
|
2003-03-08 10:01:36 +00:00
|
|
|
msglog
|
|
|
|
example of using events and monitors for recording, replaying, and
|
|
|
|
printing user messages
|
|
|
|
|
2004-03-03 04:07:59 +00:00
|
|
|
operators
|
|
|
|
example of using operators local to objects and categories
|
|
|
|
|
2001-05-21 19:39:55 +01:00
|
|
|
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
|
|
|
|
|
2004-06-06 23:46:45 +01:00
|
|
|
puzzles
|
|
|
|
several examples of logical puzzles
|
|
|
|
|
2001-05-21 19:39:55 +01:00
|
|
|
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
|
2001-12-05 23:57:48 +00:00
|
|
|
state-space searching framework
|
2001-05-21 19:39:55 +01:00
|
|
|
example adopted from Ivan Bratko's "Prolog Programming for Artificial
|
|
|
|
Intelligence" book
|
|
|
|
|
2003-02-05 00:15:28 +00:00
|
|
|
shapes
|
|
|
|
geometric shapes implemented as both a prototype hierarchy and a class
|
|
|
|
hierarchy
|
|
|
|
|
2001-05-21 19:39:55 +01:00
|
|
|
sicstus
|
|
|
|
examples adopted from SICStus Objects documentation
|
|
|
|
|
|
|
|
symdiff
|
|
|
|
example of using parametric objects to implement symbolic expression
|
2001-12-05 23:57:48 +00:00
|
|
|
differentiation and simplification
|
2001-05-21 19:39:55 +01:00
|
|
|
|
|
|
|
viewpoints
|
|
|
|
example on how to implement property and value sharing with prototypes
|