Logtalk 2.21.0 files.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1138 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
This commit is contained in:
parent
70f9c1176d
commit
921e576877
@ -16,16 +16,37 @@
|
||||
}
|
||||
|
||||
|
||||
@techreport{pmoura00,
|
||||
@unpublished{pmoura00c,
|
||||
Author = "Paulo Moura",
|
||||
Title = "{Category-Based Composition in Object-Oriented Languages}",
|
||||
month = nov,
|
||||
year = 2000,
|
||||
howpublished = "\url{http://www.logtalk.org/papers/categories_ecoop.pdf}",
|
||||
annote = "Submitted to ECOOP 2001"
|
||||
}
|
||||
|
||||
|
||||
@techreport{pmoura00b,
|
||||
author = "Paulo Moura",
|
||||
title = "{Logtalk 2.6 Documentation}",
|
||||
institution = "University of Beira Interior, Portugal",
|
||||
number = "DMI 2000/1",
|
||||
month = jul,
|
||||
year = 2000,
|
||||
howpublished = "\url{http://www.logtalk.org/files/trdmi20001a4.pdf.gz}"
|
||||
}
|
||||
|
||||
|
||||
@unpublished{pmoura00a,
|
||||
Author = "Paulo Moura",
|
||||
Title = "{Category-Based Composition in Object-Oriented Languages}",
|
||||
month = apr,
|
||||
year = 2000,
|
||||
howpublished = "\url{http://www.logtalk.org/papers/categories_oopsla.pdf}",
|
||||
annote = "Submitted to OOPSLA 2000"
|
||||
}
|
||||
|
||||
|
||||
@article{pmoura99,
|
||||
author = "Paulo Moura",
|
||||
title = "{Porting Prolog: Notes on porting a Prolog program to 22 Prolog compilers or the relevance of the ISO Prolog standard}",
|
||||
|
@ -1,17 +1,18 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.20.1
|
||||
Release 2.21.0
|
||||
|
||||
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
||||
|
||||
Installing Logtalk is just a matter of decompressing the downloaded
|
||||
archive and copying the resulting directory to a suitable location.
|
||||
Installing Logtalk is just a matter of decompressing the downloaded archive
|
||||
and copying the resulting directory to a suitable location.
|
||||
|
||||
The Logtalk directory can reside in any user accessible location.
|
||||
This location depends on the working environment and on the number
|
||||
of users. The "misc" sub-directory contains some shell scripts for
|
||||
easy installation of Logtalk on Unix and Unix-like operating systems.
|
||||
This location depends on the working environment and on the number of users.
|
||||
The "misc" sub-directory contains some shell scripts for easy installation
|
||||
of Logtalk on Windows, Unix and Unix-like operating systems.
|
||||
|
||||
|
||||
INSTALLING FOR A SINGLE USER
|
||||
@ -49,12 +50,12 @@ execution path.
|
||||
|
||||
If you use a csh shell, add the following line to your ~/.cshrc file:
|
||||
|
||||
setenv LOGTALKHOME /your/installation/directory/lgt2201
|
||||
setenv LOGTALKHOME /your/installation/directory/lgt2210
|
||||
setenv PATH $PATH:$LOGTALKHOME/xml:$LOGTALKHOME/misc
|
||||
|
||||
If you use a bash shell, add the following lines to your ~/.profile file:
|
||||
|
||||
LOGTALKHOME=/your/installation/directory/lgt2201
|
||||
LOGTALKHOME=/your/installation/directory/lgt2210
|
||||
export LOGTALKHOME
|
||||
PATH=$PATH:$LOGTALKHOME/xml:$LOGTALKHOME/misc
|
||||
export PATH
|
||||
@ -72,8 +73,8 @@ file (you will need to reboot after editing the file):
|
||||
SET LOGTALKHOME=C:\your\installation\folder\
|
||||
|
||||
In Windows NT/2000/XP, environment variables are defined using the System
|
||||
properties control panel (if you are a system administrator, you may define
|
||||
LOGTALKHOME as a system variable, otherwise define it as a user variable).
|
||||
properties control panel (if you are a system administrator, you should use
|
||||
the JScript install script provided in the "misc" sub-directory).
|
||||
|
||||
|
||||
CREATING NEW PROLOG TOP-LEVELS FOR AUTOMATIC LOADING OF LOGTALK
|
||||
|
@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.20.1
|
||||
Release 2.21.0
|
||||
|
||||
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.20.1
|
||||
Release 2.21.0
|
||||
|
||||
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.20.1
|
||||
Release 2.21.0
|
||||
|
||||
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
@ -10,6 +10,55 @@ RELEASE NOTES
|
||||
=============
|
||||
|
||||
|
||||
2.21.0 - September 14, 2004
|
||||
|
||||
Added a new predicate directive, alias/3, which allows the definition of
|
||||
alternative predicate names in order to improve readability of inherited
|
||||
features and to solve conflicts between implemented, imported, or inherited
|
||||
predicates.
|
||||
|
||||
Added new example, "aliases", illustrating the use of the new alias/3
|
||||
predicate directive for improving readability of inherited features.
|
||||
|
||||
Added new example, "diamonds", illustrating problems and solutions for the
|
||||
"diamond problem" (multi-inheritance conflicts and ambiguities) using the
|
||||
new alias/3 predicate directive.
|
||||
|
||||
Allow categories to import other categories, i.e. allow categories to be
|
||||
defined as a composition of other categories. This feature should only be
|
||||
used when extending a category without breaking its functional cohesion
|
||||
(for example, when a modified version of a category is needed for importing
|
||||
into several unrelated objects).
|
||||
|
||||
Added new example, "engines", illustrating importing a category from another
|
||||
category.
|
||||
|
||||
Updated the syntax coloring configuration files for the supported text
|
||||
editors for the new alias/3 predicate directive.
|
||||
|
||||
Added autocomplete strings for Logtalk methods and for Logtalk and Prolog
|
||||
built-in predicates and directives to the SubEthaEdit 2.x text editor.
|
||||
|
||||
Corrected a bug which prevented compilation of metafiles containing
|
||||
parametric entities.
|
||||
|
||||
|
||||
2.20.2 - August 31, 2004
|
||||
|
||||
Added a Windows JScript script for installing Logtalk. Improved the Windows
|
||||
JScript scripts used for easy integration of Logtalk with selected Prolog
|
||||
compilers.
|
||||
|
||||
Improved user manual section on defining object and category metapredicates
|
||||
and on calling non-stardard Prolog built-in metapredicates. Improved the
|
||||
description of some compiler options.
|
||||
|
||||
Added some files missing from the "errors" example (which should have been
|
||||
included in the previous release).
|
||||
|
||||
Added basic syntax coloring support for the BBEdit 8.x text editor.
|
||||
|
||||
|
||||
2.20.1 - August 19, 2004
|
||||
|
||||
Added Windows JScript scripts for easy integration of Logtalk with CIAO and
|
||||
|
@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.20.1
|
||||
Release 2.21.0
|
||||
|
||||
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.20.1
|
||||
Release 2.21.0
|
||||
|
||||
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
@ -38,6 +38,10 @@ convert the files to a print-ready format such as PDF.
|
||||
|
||||
Here is a short description of each included example:
|
||||
|
||||
aliases
|
||||
example of using the alias/3 predicate directive to provide alternative
|
||||
names to inherited predicates in order to improve readability
|
||||
|
||||
birds
|
||||
bird identification expert system
|
||||
example adopted from the Adventure in Prolog Amzi! book
|
||||
@ -51,9 +55,17 @@ classvars
|
||||
dcgs
|
||||
examples of using DCG rules inside objects and categories
|
||||
|
||||
diamonds
|
||||
examples of problems and solutions for the "diamond problem"
|
||||
(multi-inheritance conflicts and ambiguities)
|
||||
|
||||
dynpred
|
||||
example of using some of the built-in database handling methods
|
||||
|
||||
engines
|
||||
example of category composition (importation of categories by other
|
||||
categories) using car engines
|
||||
|
||||
errors
|
||||
example showing the Logtalk compiler warning and error reporting
|
||||
|
||||
|
18
Logtalk/examples/aliases/NOTES
Normal file
18
Logtalk/examples/aliases/NOTES
Normal file
@ -0,0 +1,18 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.21.0
|
||||
|
||||
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
||||
|
||||
To load all entities in this example compile and load the loader file:
|
||||
|
||||
| ?- logtalk_load(loader).
|
||||
|
||||
or, in alternative, compile and load the example metafile:
|
||||
|
||||
| ?- logtalk_load(aliases).
|
||||
|
||||
For a description of this example, please see the comments in the
|
||||
aliases.mlgt metafile.
|
50
Logtalk/examples/aliases/SCRIPT
Normal file
50
Logtalk/examples/aliases/SCRIPT
Normal file
@ -0,0 +1,50 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.21.0
|
||||
|
||||
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
||||
|
||||
% start by loading the example:
|
||||
|
||||
| ?- logtalk_load(loader).
|
||||
...
|
||||
|
||||
|
||||
% check the object square(_) public protocol:
|
||||
|
||||
| ?- square(_)::current_predicate(Predicate).
|
||||
|
||||
Predicate = side/1 ;
|
||||
Predicate = width/1 ;
|
||||
Predicate = height/1 ;
|
||||
Predicate = area/1
|
||||
yes
|
||||
|
||||
|
||||
% test the side/1 alias:
|
||||
|
||||
| ?- square(2)::side(Side).
|
||||
|
||||
Side = 2
|
||||
yes
|
||||
|
||||
|
||||
% check the object circle(_) public protocol:
|
||||
|
||||
| ?- circle(_)::current_predicate(Predicate).
|
||||
|
||||
Predicate = r/1 ;
|
||||
Predicate = rx/1 ;
|
||||
Predicate = ry/1 ;
|
||||
Predicate = area/1
|
||||
yes
|
||||
|
||||
|
||||
% test the r/1 alias:
|
||||
|
||||
| ?- circle(3)::r(Radius).
|
||||
|
||||
Radius = 3
|
||||
yes
|
70
Logtalk/examples/aliases/aliases.mlgt
Normal file
70
Logtalk/examples/aliases/aliases.mlgt
Normal file
@ -0,0 +1,70 @@
|
||||
/*
|
||||
This example illustrates the use of the predicate directive alias/3 for
|
||||
defining alternative names for inherited predicates.
|
||||
*/
|
||||
|
||||
|
||||
% first, we define a simple parametric object for representing rectangles:
|
||||
|
||||
:- object(rectangle(_Width, _Height)).
|
||||
|
||||
:- public(width/1).
|
||||
:- public(height/1).
|
||||
:- public(area/1).
|
||||
|
||||
width(Width) :-
|
||||
parameter(1, Width).
|
||||
|
||||
height(Height) :-
|
||||
parameter(2, Height).
|
||||
|
||||
area(Area) :-
|
||||
::width(Width),
|
||||
::height(Height),
|
||||
Area is Width*Height.
|
||||
|
||||
:- end_object.
|
||||
|
||||
|
||||
% next, we define a square object which adds an alias, side/1, for the
|
||||
% inherited predicate width/1:
|
||||
|
||||
:- object(square(Side),
|
||||
extends(rectangle(Side, Side))).
|
||||
|
||||
:- alias(rectangle(_, _), width/1, side/1).
|
||||
|
||||
:- end_object.
|
||||
|
||||
|
||||
% a similar example can be defined using ellipses and circles:
|
||||
|
||||
:- object(ellipse(_RX, _RY)).
|
||||
|
||||
:- public(rx/1).
|
||||
:- public(ry/1).
|
||||
:- public(area/1).
|
||||
|
||||
rx(Rx) :-
|
||||
parameter(1, Rx).
|
||||
|
||||
ry(Ry) :-
|
||||
parameter(2, Ry).
|
||||
|
||||
area(Area) :-
|
||||
::rx(Rx),
|
||||
::ry(Ry),
|
||||
Area is Rx*Ry*3.1415927.
|
||||
|
||||
:- end_object.
|
||||
|
||||
|
||||
% in this case, we define an alias named r/1 for the inherited
|
||||
% predicate rx/1:
|
||||
|
||||
:- object(circle(Radius),
|
||||
extends(ellipse(Radius, Radius))).
|
||||
|
||||
:- alias(ellipse(_, _), rx/1, r/1).
|
||||
|
||||
:- end_object.
|
4
Logtalk/examples/aliases/loader.lgt
Normal file
4
Logtalk/examples/aliases/loader.lgt
Normal file
@ -0,0 +1,4 @@
|
||||
|
||||
:- initialization(
|
||||
logtalk_load([
|
||||
aliases])).
|
@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.20.1
|
||||
Release 2.21.0
|
||||
|
||||
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.20.1
|
||||
Release 2.21.0
|
||||
|
||||
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.20.1
|
||||
Release 2.21.0
|
||||
|
||||
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.20.1
|
||||
Release 2.21.0
|
||||
|
||||
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.20.1
|
||||
Release 2.21.0
|
||||
|
||||
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.20.1
|
||||
Release 2.21.0
|
||||
|
||||
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.20.1
|
||||
Release 2.21.0
|
||||
|
||||
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.20.1
|
||||
Release 2.21.0
|
||||
|
||||
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
56
Logtalk/examples/diamonds/NOTES
Normal file
56
Logtalk/examples/diamonds/NOTES
Normal file
@ -0,0 +1,56 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.21.0
|
||||
|
||||
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
||||
|
||||
This example illustrates some variants of the "diamond problem"
|
||||
(multi-inheritance conflicts and ambiguities) and its respective
|
||||
solutions on Logtalk.
|
||||
|
||||
This classical problem can be simply described by constructing a
|
||||
"diamond" of objects and inheritance links as follows:
|
||||
|
||||
A -- contains default definition for a predicate m/0
|
||||
/ \
|
||||
B C -- contains redefinitions of the predicate m/0
|
||||
\ /
|
||||
D -- inherits both redefinitions of the predicate m/0
|
||||
|
||||
As such, the object D inherits two conflicting definitions for the
|
||||
predicate m/0, one from object B and one from object C. If we send
|
||||
the message m/0 to object D, is ambiguous which inherited definition
|
||||
should be used to answer it. Depending on the nature of the objects
|
||||
A, B, C, and D, the correct answer can be the redefinition of m/0 in
|
||||
object B, the redefinition m/0 in object C, or both redefinitions.
|
||||
A programming language supporting multi-inheritance should provide
|
||||
programming mechanisms allowing easy implementation of each possible
|
||||
solution.
|
||||
|
||||
Note that, in the context of Logtalk, the diamond problem may occur with
|
||||
prototype hierarchies, class hierarchies, protocol hierarchies, or when
|
||||
using category composition.
|
||||
|
||||
This example deals with three variants of the diamond problem, illustrated
|
||||
using prototype hierarchies:
|
||||
|
||||
diamond1
|
||||
illustrates the inherited definition which is visible due to the
|
||||
Logtalk predicate lookup algorithm
|
||||
diamond2
|
||||
presents a solution for making the overridden inherited definition
|
||||
the visible one
|
||||
diamond3
|
||||
presents a solution which allows both inherited definitions to be
|
||||
used in D
|
||||
|
||||
To load all entities in this example compile and load the loader file:
|
||||
|
||||
| ?- logtalk_load(loader).
|
||||
|
||||
To load only a specific variant, compile and load the respective metafile.
|
||||
For example:
|
||||
|
||||
| ?- logtalk_load(diamond2).
|
45
Logtalk/examples/diamonds/SCRIPT
Normal file
45
Logtalk/examples/diamonds/SCRIPT
Normal file
@ -0,0 +1,45 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.21.0
|
||||
|
||||
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
||||
|
||||
% start by loading the example:
|
||||
|
||||
| ?- logtalk_load(loader).
|
||||
...
|
||||
|
||||
|
||||
% first variant of the "diamond problem", defined in the "diamond1" metafile:
|
||||
|
||||
| ?- d1::m.
|
||||
|
||||
Redefinition of method m/0 in object b1
|
||||
yes
|
||||
|
||||
|
||||
% second variant of the "diamond problem", defined in the "diamond2" metafile:
|
||||
|
||||
| ?- d2::m.
|
||||
|
||||
Redefinition of method m/0 in object c2
|
||||
yes
|
||||
|
||||
|
||||
% third variant of the "diamond problem", defined in the "diamond3" metafile:
|
||||
|
||||
| ?- d3::b3_m.
|
||||
|
||||
Redefinition of method m/0 in object b3
|
||||
yes
|
||||
|
||||
| ?- d3::c3_m.
|
||||
|
||||
Redefinition of method m/0 in object c3
|
||||
yes
|
||||
|
||||
| ?- d3::m.
|
||||
Redefinition of method m/0 in object b3
|
||||
yes
|
57
Logtalk/examples/diamonds/diamond1.mlgt
Normal file
57
Logtalk/examples/diamonds/diamond1.mlgt
Normal file
@ -0,0 +1,57 @@
|
||||
/*
|
||||
These metafile objects illustrate a variant of the "diamond problem" using
|
||||
a prototype hierarchy.
|
||||
|
||||
In this simple case, the inherited definition which will be used in the
|
||||
bottom object is determined by the Logtalk predicate lookup algorithm.
|
||||
*/
|
||||
|
||||
|
||||
% root object, declaring and defining a predicate m/0:
|
||||
|
||||
:- object(a1).
|
||||
|
||||
:- public(m/0).
|
||||
|
||||
m :-
|
||||
this(This),
|
||||
write('Default definition of method m/0 in object '),
|
||||
write(This), nl.
|
||||
|
||||
:- end_object.
|
||||
|
||||
|
||||
% an object descending from the root object, which redefines predicate m/0:
|
||||
|
||||
:- object(b1,
|
||||
extends(a1)).
|
||||
|
||||
m :-
|
||||
this(This),
|
||||
write('Redefinition of method m/0 in object '),
|
||||
write(This), nl.
|
||||
|
||||
:- end_object.
|
||||
|
||||
|
||||
% another object descending from the root object, which also redefines predicate m/0:
|
||||
|
||||
:- object(c1,
|
||||
extends(a1)).
|
||||
|
||||
m :-
|
||||
this(This),
|
||||
write('Redefinition of method m/0 in object '),
|
||||
write(This), nl.
|
||||
|
||||
:- end_object.
|
||||
|
||||
|
||||
% bottom object, descending from the two previous objects and, as such, inheriting
|
||||
% two definitions for the predicate m/0:
|
||||
|
||||
:- object(d1,
|
||||
extends(b1, c1)).
|
||||
|
||||
|
||||
:- end_object.
|
64
Logtalk/examples/diamonds/diamond2.mlgt
Normal file
64
Logtalk/examples/diamonds/diamond2.mlgt
Normal file
@ -0,0 +1,64 @@
|
||||
/*
|
||||
These metafile objects illustrate a variant of the "diamond problem" using
|
||||
a prototype hierarchy.
|
||||
|
||||
In this simple case, a solution for making the overridden definition inherited
|
||||
by the bottom object the visible one is implemented using the alias/3 predicate
|
||||
directive.
|
||||
*/
|
||||
|
||||
|
||||
% root object, declaring and defining a predicate m/0:
|
||||
|
||||
:- object(a2).
|
||||
|
||||
:- public(m/0).
|
||||
|
||||
m :-
|
||||
this(This),
|
||||
write('Default definition of method m/0 in object '),
|
||||
write(This), nl.
|
||||
|
||||
:- end_object.
|
||||
|
||||
|
||||
% an object descending from the root object, which redefines predicate m/0:
|
||||
|
||||
:- object(b2,
|
||||
extends(a2)).
|
||||
|
||||
m :-
|
||||
this(This),
|
||||
write('Redefinition of method m/0 in object '),
|
||||
write(This), nl.
|
||||
|
||||
:- end_object.
|
||||
|
||||
|
||||
% another object descending from the root object, which also redefines predicate m/0:
|
||||
|
||||
:- object(c2,
|
||||
extends(a2)).
|
||||
|
||||
m :-
|
||||
this(This),
|
||||
write('Redefinition of method m/0 in object '),
|
||||
write(This), nl.
|
||||
|
||||
:- end_object.
|
||||
|
||||
|
||||
% bottom object, descending from the two previous objects and, as such, inheriting
|
||||
% two definitions for the predicate m/0; the overridden definition inherited from
|
||||
% object "c2" is renamed using the alias/3 directive and then we redefined the
|
||||
% predicate m/0 to call the renamed definition:
|
||||
|
||||
:- object(d2,
|
||||
extends(b2, c2)).
|
||||
|
||||
:- alias(c2, m/0, c2_m/0).
|
||||
|
||||
m :-
|
||||
::c2_m.
|
||||
|
||||
:- end_object.
|
61
Logtalk/examples/diamonds/diamond3.mlgt
Normal file
61
Logtalk/examples/diamonds/diamond3.mlgt
Normal file
@ -0,0 +1,61 @@
|
||||
/*
|
||||
These metafile objects illustrate a variant of the "diamond problem" using
|
||||
a prototype hierarchy.
|
||||
|
||||
In this simple case, a solution is presented for making two conflicting
|
||||
definitions inherited by the bottom object visible through the use of the
|
||||
alias/3 predicate directive.
|
||||
*/
|
||||
|
||||
|
||||
% root object, declaring and defining a predicate m/0:
|
||||
|
||||
:- object(a3).
|
||||
|
||||
:- public(m/0).
|
||||
|
||||
m :-
|
||||
this(This),
|
||||
write('Default definition of method m/0 in object '),
|
||||
write(This), nl.
|
||||
|
||||
:- end_object.
|
||||
|
||||
|
||||
% an object descending from the root object, which redefines predicate m/0:
|
||||
|
||||
:- object(b3,
|
||||
extends(a3)).
|
||||
|
||||
m :-
|
||||
this(This),
|
||||
write('Redefinition of method m/0 in object '),
|
||||
write(This), nl.
|
||||
|
||||
:- end_object.
|
||||
|
||||
|
||||
% another object descending from the root object, which also redefines predicate m/0:
|
||||
|
||||
:- object(c3,
|
||||
extends(a3)).
|
||||
|
||||
m :-
|
||||
this(This),
|
||||
write('Redefinition of method m/0 in object '),
|
||||
write(This), nl.
|
||||
|
||||
:- end_object.
|
||||
|
||||
|
||||
% bottom object, descending from the two previous objects and, as such, inheriting
|
||||
% two definitions for the predicate m/0; both inherited definitions are renamed
|
||||
% using the alias/3 directive:
|
||||
|
||||
:- object(d3,
|
||||
extends(b3, c3)).
|
||||
|
||||
:- alias(b3, m/0, b3_m/0).
|
||||
:- alias(c3, m/0, c3_m/0).
|
||||
|
||||
:- end_object.
|
6
Logtalk/examples/diamonds/loader.lgt
Normal file
6
Logtalk/examples/diamonds/loader.lgt
Normal file
@ -0,0 +1,6 @@
|
||||
|
||||
:- initialization(
|
||||
logtalk_load([
|
||||
diamond1,
|
||||
diamond2,
|
||||
diamond3])).
|
@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.20.1
|
||||
Release 2.21.0
|
||||
|
||||
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.20.1
|
||||
Release 2.21.0
|
||||
|
||||
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
18
Logtalk/examples/engines/NOTES
Normal file
18
Logtalk/examples/engines/NOTES
Normal file
@ -0,0 +1,18 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.21.0
|
||||
|
||||
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
||||
|
||||
To load all entities in this example compile and load the loader file:
|
||||
|
||||
| ?- logtalk_load(loader).
|
||||
|
||||
or, in alternative, compile and load the example metafile:
|
||||
|
||||
| ?- logtalk_load(engines).
|
||||
|
||||
For a description of this example, please see the comments in the
|
||||
engines.mlgt metafile.
|
62
Logtalk/examples/engines/SCRIPT
Normal file
62
Logtalk/examples/engines/SCRIPT
Normal file
@ -0,0 +1,62 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.21.0
|
||||
|
||||
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
||||
|
||||
% start by loading the example:
|
||||
|
||||
| ?- logtalk_load(loader).
|
||||
...
|
||||
|
||||
|
||||
% both cars provide the same interface, declared in the protocol
|
||||
% that is implemented by the categories imported by each object:
|
||||
|
||||
| ?- sedan::current_predicate(P).
|
||||
|
||||
P = reference/1 ;
|
||||
P = capacity/1 ;
|
||||
P = cylinders/2 ;
|
||||
P = horsepower_rpm/2 ;
|
||||
P = bore_stroke/2 ;
|
||||
P = fuel/1
|
||||
yes
|
||||
|
||||
|
||||
| ?- coupe::current_predicate(P).
|
||||
|
||||
P = reference/1 ;
|
||||
P = capacity/1 ;
|
||||
P = cylinders/2 ;
|
||||
P = horsepower_rpm/2 ;
|
||||
P = bore_stroke/2 ;
|
||||
P = fuel/1 ;
|
||||
yes
|
||||
|
||||
|
||||
% the sedan engine properties are the ones defined in the corresponding
|
||||
% imported category (classic):
|
||||
|
||||
| ?- sedan::(reference(Name), cylinders(Cylinders), horsepower_rpm(HP, RPM)).
|
||||
|
||||
Name = 'M180.940'
|
||||
Cylinders = 6
|
||||
HP = 94
|
||||
RPM = 4800
|
||||
yes
|
||||
|
||||
|
||||
% the coupe engine properties are the ones defined in the corresponding
|
||||
% imported category (sport) plus the ones inherited from the top category
|
||||
% (classic) which are not overridden:
|
||||
|
||||
| ?- coupe::(reference(Name), cylinders(Cylinders), horsepower_rpm(HP, RPM)).
|
||||
|
||||
Name = 'M180.941'
|
||||
Cylinders = 6
|
||||
HP = 110
|
||||
RPM = 5000
|
||||
yes
|
67
Logtalk/examples/engines/engines.mlgt
Normal file
67
Logtalk/examples/engines/engines.mlgt
Normal file
@ -0,0 +1,67 @@
|
||||
/*
|
||||
This is a simple example of category composition, i.e. importation of
|
||||
categories by other categories in order to provide modified components
|
||||
for building objects, using car engines.
|
||||
|
||||
The example defines a car engine protocol (enginep), a standard engine
|
||||
(classic), and an improved version of it (sport). Both engines are then
|
||||
imported in two car models (sedan and coupe).
|
||||
*/
|
||||
|
||||
|
||||
% first we define a protocol for describing the characteristics of an engine:
|
||||
|
||||
:- protocol(enginep).
|
||||
|
||||
:- public(reference/1).
|
||||
:- public(capacity/1).
|
||||
:- public(cylinders/1).
|
||||
:- public(horsepower_rpm/2).
|
||||
:- public(bore_stroke/2).
|
||||
:- public(fuel/1).
|
||||
|
||||
:- end_protocol.
|
||||
|
||||
|
||||
% second, we can define a typical engine as a category, which will be used
|
||||
% when "assembling" cars:
|
||||
|
||||
:- category(classic,
|
||||
implements(enginep)).
|
||||
|
||||
reference('M180.940').
|
||||
capacity(2195).
|
||||
cylinders(6).
|
||||
horsepower_rpm(94, 4800).
|
||||
bore_stroke(80, 72.8).
|
||||
fuel(gasoline).
|
||||
|
||||
:- end_category.
|
||||
|
||||
|
||||
% next, we define a souped up version of the previous engine, which differs
|
||||
% from the standard one only in its reference and in its horsepower:
|
||||
|
||||
:- category(sport,
|
||||
imports(classic)).
|
||||
|
||||
reference('M180.941').
|
||||
horsepower_rpm(110, 5000).
|
||||
|
||||
:- end_category.
|
||||
|
||||
|
||||
% with engines (and other components), we may start "assembling" some cars:
|
||||
|
||||
:- object(sedan,
|
||||
imports(classic)).
|
||||
|
||||
|
||||
:- end_object.
|
||||
|
||||
|
||||
:- object(coupe,
|
||||
imports(sport)).
|
||||
|
||||
|
||||
:- end_object.
|
4
Logtalk/examples/engines/loader.lgt
Normal file
4
Logtalk/examples/engines/loader.lgt
Normal file
@ -0,0 +1,4 @@
|
||||
|
||||
:- initialization(
|
||||
logtalk_load([
|
||||
engines])).
|
@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.20.1
|
||||
Release 2.21.0
|
||||
|
||||
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.20.1
|
||||
Release 2.21.0
|
||||
|
||||
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.20.1
|
||||
Release 2.21.0
|
||||
|
||||
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.20.1
|
||||
Release 2.21.0
|
||||
|
||||
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.20.1
|
||||
Release 2.21.0
|
||||
|
||||
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.20.1
|
||||
Release 2.21.0
|
||||
|
||||
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.20.1
|
||||
Release 2.21.0
|
||||
|
||||
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.20.1
|
||||
Release 2.21.0
|
||||
|
||||
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.20.1
|
||||
Release 2.21.0
|
||||
|
||||
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.20.1
|
||||
Release 2.21.0
|
||||
|
||||
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.20.1
|
||||
Release 2.21.0
|
||||
|
||||
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.20.1
|
||||
Release 2.21.0
|
||||
|
||||
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.20.1
|
||||
Release 2.21.0
|
||||
|
||||
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.20.1
|
||||
Release 2.21.0
|
||||
|
||||
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.20.1
|
||||
Release 2.21.0
|
||||
|
||||
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.20.1
|
||||
Release 2.21.0
|
||||
|
||||
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.20.1
|
||||
Release 2.21.0
|
||||
|
||||
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.20.1
|
||||
Release 2.21.0
|
||||
|
||||
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.20.1
|
||||
Release 2.21.0
|
||||
|
||||
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.20.1
|
||||
Release 2.21.0
|
||||
|
||||
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.20.1
|
||||
Release 2.21.0
|
||||
|
||||
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.20.1
|
||||
Release 2.21.0
|
||||
|
||||
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.20.1
|
||||
Release 2.21.0
|
||||
|
||||
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.20.1
|
||||
Release 2.21.0
|
||||
|
||||
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.20.1
|
||||
Release 2.21.0
|
||||
|
||||
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.20.1
|
||||
Release 2.21.0
|
||||
|
||||
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.20.1
|
||||
Release 2.21.0
|
||||
|
||||
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.20.1
|
||||
Release 2.21.0
|
||||
|
||||
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.20.1
|
||||
Release 2.21.0
|
||||
|
||||
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.20.1
|
||||
Release 2.21.0
|
||||
|
||||
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.20.1
|
||||
Release 2.21.0
|
||||
|
||||
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.20.1
|
||||
Release 2.21.0
|
||||
|
||||
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.20.1
|
||||
Release 2.21.0
|
||||
|
||||
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.20.1
|
||||
Release 2.21.0
|
||||
|
||||
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.20.1
|
||||
Release 2.21.0
|
||||
|
||||
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.20.1
|
||||
Release 2.21.0
|
||||
|
||||
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.20.1
|
||||
Release 2.21.0
|
||||
|
||||
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.20.1
|
||||
Release 2.21.0
|
||||
|
||||
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.20.1
|
||||
Release 2.21.0
|
||||
|
||||
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.20.1
|
||||
Release 2.21.0
|
||||
|
||||
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.20.1
|
||||
Release 2.21.0
|
||||
|
||||
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.20.1
|
||||
Release 2.21.0
|
||||
|
||||
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.20.1
|
||||
Release 2.21.0
|
||||
|
||||
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.20.1
|
||||
Release 2.21.0
|
||||
|
||||
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.20.1
|
||||
Release 2.21.0
|
||||
|
||||
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.20.1
|
||||
Release 2.21.0
|
||||
|
||||
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.20.1
|
||||
Release 2.21.0
|
||||
|
||||
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.20.1
|
||||
Release 2.21.0
|
||||
|
||||
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.20.1
|
||||
Release 2.21.0
|
||||
|
||||
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.20.1
|
||||
Release 2.21.0
|
||||
|
||||
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.20.1
|
||||
Release 2.21.0
|
||||
|
||||
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.20.1
|
||||
Release 2.21.0
|
||||
|
||||
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.20.1
|
||||
Release 2.21.0
|
||||
|
||||
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.20.1
|
||||
Release 2.21.0
|
||||
|
||||
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.20.1
|
||||
Release 2.21.0
|
||||
|
||||
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.20.1
|
||||
Release 2.21.0
|
||||
|
||||
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.20.1
|
||||
Release 2.21.0
|
||||
|
||||
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@ -1,7 +1,7 @@
|
||||
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.20.1
|
||||
Release 2.21.0
|
||||
|
||||
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.20.1
|
||||
Release 2.21.0
|
||||
|
||||
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.20.1
|
||||
Release 2.21.0
|
||||
|
||||
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.20.1
|
||||
Release 2.21.0
|
||||
|
||||
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.20.1
|
||||
Release 2.21.0
|
||||
|
||||
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.20.1
|
||||
Release 2.21.0
|
||||
|
||||
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.20.1
|
||||
Release 2.21.0
|
||||
|
||||
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.20.1
|
||||
Release 2.21.0
|
||||
|
||||
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.20.1
|
||||
Release 2.21.0
|
||||
|
||||
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.20.1
|
||||
Release 2.21.0
|
||||
|
||||
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.20.1
|
||||
Release 2.21.0
|
||||
|
||||
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@ -8,7 +8,7 @@
|
||||
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
|
||||
<title>Logtalk 2.20.1 Documentation</title>
|
||||
<title>Logtalk 2.21.0 Documentation</title>
|
||||
<link rel="stylesheet" href="styles.css" type="text/css" />
|
||||
</head>
|
||||
|
||||
@ -18,7 +18,7 @@
|
||||
|
||||
</div>
|
||||
|
||||
<h1>Logtalk 2.20.1 Documentation</h1>
|
||||
<h1>Logtalk 2.21.0 Documentation</h1>
|
||||
|
||||
<ul>
|
||||
<li><h2><a href="userman/index.html">User Manual</a></h2></li>
|
||||
@ -37,7 +37,7 @@ Copyright © <a href="mailto:pmoura@logtalk.org">Paulo Moura</a> — <a
|
||||
</div>
|
||||
|
||||
<div class="footer">
|
||||
<p><span class="bleft"><a href="http://validator.w3.org/check/referer">XHTML</a> + <a href="http://jigsaw.w3.org/css-validator/check/referer">CSS</a></span><span class="bright">Last updated on: August 19, 2004</span></p>
|
||||
<p><span class="bleft"><a href="http://validator.w3.org/check/referer">XHTML</a> + <a href="http://jigsaw.w3.org/css-validator/check/referer">CSS</a></span><span class="bright">Last updated on: September 7, 2004</span></p>
|
||||
</div>
|
||||
|
||||
</body>
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user