Logtalk 2.17.0 files.

git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1048 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
This commit is contained in:
pmoura 2004-04-25 23:57:46 +00:00
parent 91f87b3109
commit dcf184d930
123 changed files with 2113 additions and 1163 deletions

59
Logtalk/INSTALL Normal file
View File

@ -0,0 +1,59 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.17.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.
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.
INSTALLING FOR A SINGLE USER
In the case of a single user, the Logtalk directory can simply be
copied to the user home directory.
INSTALLING FOR MULTIPLE USERS
In the case of multiple users, the Logtalk directory can be copied to
any location that its accessible by all the users.
Regarding directory and file permissions, it is advisable to make all files
read-only in order to avoid user tempering. However, the library and examples
sub-directories (and possibly the compiler sub-directory, depending on the
chosen Prolog compiler) must be user writable as compiling Logtalk source
files generates intermediate Prolog files, which are written to the same
location as the source files. However, making directories world-writable is a
security risk. There are two alternatives. The first one is to pre-compile the
library and all examples and to turn on the compiler option "smart_compilation"
in order to avoid the need of recompilation when the files are loaded by the
users. The second alternative is to copy the Logtalk xml, examples, and library
directories to each user directory (the "misc" sub-directory contains a shell
script for automating these copies).
ENVIRONMENT VARIABLES
In Unix and Unix-like systems is recommended that you define an environment
variable named $LOGTALKHOME pointing to the Logtalk installation for use with
your Prolog compilers. If you use a csh shell, add the following line to your
~/.cshrc file:
setenv LOGTALKHOME "/your/installation/directory/lgt2170"
If you use a bash shell, add the following lines to your ~/.profile file:
LOGTALKHOME="/your/installation/directory/lgt2170"
export LOGTALKHOME
When using the provided shell script for installing Logtalk, a symbolic link
to the Logtalk installation directory is automatically created. The link is
named "logtalk". In this case, use this symbolic link to define the
environment variable in order to avoid breaking it when upgrading Logtalk.

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.16.2
Release 2.17.0
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.16.2
Release 2.17.0
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
=================================================================
@ -78,24 +78,13 @@ with just the word "help" in the subject or in the message body.
Installing Logtalk is just a matter of uncompressing/unpacking the
distribution archive file for your operating system. You can install
Logtalk in any directory that you find convenient.
Logtalk in any directory that you find convenient. See the file INSTALL
for further instructions.
See the user manual for a description of the source files organization and
for installing/using instructions (to read the user manual open the file
manuals/index.html with a web browser). Most files are formatted using
four-space tabs.
In Unix and Unix-like systems you may want to define an environment variable
named $LOGTALKHOME pointing to the Logtalk installation for use with your
Prolog compilers. If you use a csh shell, add the following line to your
.cshrc file:
setenv LOGTALKHOME "/your/installation/directory/lgt2162"
If you use a bash shell, add the following lines to your .profile file:
LOGTALKHOME="/your/installation/directory/lgt2162"
export LOGTALKHOME
See the user manual for a description of the source files organization
and for using instructions (to read the user manual open the file
manuals/index.html with a web browser). Most files are formatted
using four-space tabs.
6. DOCUMENTATION

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.16.2
Release 2.17.0
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
=================================================================
@ -10,6 +10,30 @@ RELEASE NOTES
=============
2.17.0 - April 26, 2004
Added built-in debugging support implemented through the definition of a
new pseudo-object named "debugger". Added "debug" compiler option. Renamed
library entities "debuggerp" and "debugger" to, respectively, "event_dbgp"
and "event_dbg".
Improved installation instructions for multi-user environments. Added
a shell script for installing Logtalk in Unix and Unix-like operating
systems. Added a shell script for copying Logtalk xml, examples, and
library directories to the user home directory.
Added a logtalk.spec file for building Linux RPMs from sources.
Added a set of shell scripts for easy integration of Logtalk with ECLiPSe,
GNU Prolog, Qu-Prolog, SICStus Prolog, SWI-Prolog, and YAP.
Corrected bug in the definition of the pseudo-object "user" that resulted
in mixed up metapredicate and type predicate properties.
Removed config files for outdated versions of Qu-Prolog, SWI-Prolog, ECLiPSe,
K-Prolog, CIAO, YAP, Amzi! Prolog, LPA Win-Prolog, SICStus Prolog, and XSB.
2.16.2 - April 2, 2004
Corrected a bug in the library category monitor (file library/monitor.lgt)

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.16.2
Release 2.17.0
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.16.2
Release 2.17.0
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.16.2
Release 2.17.0
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.16.2
Release 2.17.0
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.16.2
Release 2.17.0
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
=================================================================
@ -24,5 +24,6 @@ want the bricks on top of it to move along. If we break the stack by
moving a middle brick, we want to automatically destroy the
corresponding relation tuple.
It's instructive to use the debugger to better understand this example.
Set spy points in all brick instances and then activate the debugger.
It's instructive to use the event debugger in the Logtalk library (loader
file debugging.loader) to better understand this example. Set spy points
in all brick instances and then activate the debugger.

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.16.2
Release 2.17.0
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.16.2
Release 2.17.0
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.16.2
Release 2.17.0
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.16.2
Release 2.17.0
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.16.2
Release 2.17.0
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.16.2
Release 2.17.0
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.16.2
Release 2.17.0
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.16.2
Release 2.17.0
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.16.2
Release 2.17.0
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.16.2
Release 2.17.0
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.16.2
Release 2.17.0
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.16.2
Release 2.17.0
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.16.2
Release 2.17.0
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.16.2
Release 2.17.0
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.16.2
Release 2.17.0
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.16.2
Release 2.17.0
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.16.2
Release 2.17.0
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,4 +1,6 @@
:- op(400, yfx, ~).
:- initialization(
logtalk_load([
quick1,

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.16.2
Release 2.17.0
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.16.2
Release 2.17.0
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.16.2
Release 2.17.0
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.16.2
Release 2.17.0
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.16.2
Release 2.17.0
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.16.2
Release 2.17.0
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.16.2
Release 2.17.0
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.16.2
Release 2.17.0
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.16.2
Release 2.17.0
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.16.2
Release 2.17.0
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.16.2
Release 2.17.0
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.16.2
Release 2.17.0
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.16.2
Release 2.17.0
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.16.2
Release 2.17.0
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.16.2
Release 2.17.0
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.16.2
Release 2.17.0
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.16.2
Release 2.17.0
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.16.2
Release 2.17.0
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.16.2
Release 2.17.0
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.16.2
Release 2.17.0
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.16.2
Release 2.17.0
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.16.2
Release 2.17.0
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.16.2
Release 2.17.0
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.16.2
Release 2.17.0
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.16.2
Release 2.17.0
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.16.2
Release 2.17.0
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.16.2
Release 2.17.0
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.16.2
Release 2.17.0
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
=================================================================
@ -92,10 +92,10 @@ yes
6 8 12 _|____________|_ lamp 1 3
1 3 6 8 12 lamp _|____________|_
solution length: 8
state transitions: 346
ratio solution length / state transitions: 0.0231214
state transitions: 367
ratio solution length / state transitions: 0.0217984
minimum branching degree: 1
average branching degree: 7.42453
average branching degree: 7.32579
maximum branching degree: 15
time: 0.28

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.16.2
Release 2.17.0
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.16.2
Release 2.17.0
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.16.2
Release 2.17.0
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.16.2
Release 2.17.0
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.16.2
Release 2.17.0
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.16.2
Release 2.17.0
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.16.2
Release 2.17.0
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.16.2
Release 2.17.0
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.16.2
Release 2.17.0
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.16.2
Release 2.17.0
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.16.2
Release 2.17.0
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
=================================================================
@ -72,7 +72,7 @@ yes
% initially, score/1 is only defined for joePerson, so every descendant
% or viewpoint will share its value/definition:
| ?- joeEmployee::score(Score).
| ?- joeEmployee::score(Score).
Score = 0
yes
@ -92,7 +92,7 @@ yes
| ?- joePerson::score(Score).
Counter = 0
Score = 0
yes
@ -101,5 +101,5 @@ yes
| ?- joeSportsman::score(Score).
Counter = 0
Score = 0
yes

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.16.2
Release 2.17.0
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.16.2
Release 2.17.0
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -9,8 +9,8 @@
before_event_registry, after_event_registry,
monitorp, monitor,
debuggerp, % debugging
debugger,
event_dbgp, % debugging
event_dbg,
subject, % dependents
observer,

View File

@ -1,7 +1,7 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.16.2
Release 2.17.0
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.16.2
Release 2.17.0
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,5 +1,5 @@
:- initialization(
logtalk_load([
debuggerp,
debugger])).
event_dbgp,
event_dbg])).

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.16.2
Release 2.17.0
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
=================================================================
@ -13,7 +13,7 @@ You will need to load FIRST the events.loader file otherwise you will get
a runtime error.
The object debugger enables you to:
The object event_dbg enables you to:
- spy all or specific messages to an object
- trace an execution

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.16.2
Release 2.17.0
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
:- object(debugger,
implements(debuggerp, event_handlersp),
:- object(event_dbg,
implements(event_dbgp, event_handlersp),
imports(monitor)).

View File

@ -1,5 +1,5 @@
:- protocol(debuggerp).
:- protocol(event_dbgp).
:- info([

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.16.2
Release 2.17.0
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.16.2
Release 2.17.0
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.16.2
Release 2.17.0
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.16.2
Release 2.17.0
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.16.2
Release 2.17.0
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.16.2
Release 2.17.0
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
=================================================================

View File

@ -8,7 +8,7 @@
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<title>Logtalk 2.16.2 Documentation</title>
<title>Logtalk 2.17.0 Documentation</title>
<link rel="stylesheet" href="styles.css" type="text/css" />
</head>
@ -18,7 +18,7 @@
&nbsp;
</div>
<h1>Logtalk 2.16.2 Documentation</h1>
<h1>Logtalk 2.17.0 Documentation</h1>
<ul>
<li><h2><a href="userman/index.html">User Manual</a></h2></li>
@ -37,7 +37,7 @@ Copyright &copy; <a href="mailto:pmoura@logtalk.org">Paulo Moura</a> &mdash; <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: March 29, 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: April 25, 2004</span></p>
</div>
</body>

View File

@ -32,32 +32,32 @@
<h3><a name="entity_relations" href="grammar.html#entity_relations">Entity relations</a></h3>
<ul>
<li><a name="implemented_protocols" href="grammar.html#implemented_protocols">Implemented protocols</a></li>
<li><a name="extended_protocols" href="grammar.html#extended_protocols">Extended protocols</a></li>
<li><a name="imported_categories" href="grammar.html#imported_categories">Imported categories</a></li>
<li><a name="extended_objects" href="grammar.html#extended_objects">Extended objects</a></li>
<li><a name="instantiated_objects" href="grammar.html#instantiated_objects">Instantiated objects</a></li>
<li><a name="specialized_objects" href="grammar.html#specialized_objects">Specialized objects</a></li>
<li><a name="scope" href="grammar.html#scope">Entity scope</a></li>
</ul>
<dl>
<dt><a name="implemented_protocols" href="grammar.html#implemented_protocols">Implemented protocols</a></dt>
<dt><a name="extended_protocols" href="grammar.html#extended_protocols">Extended protocols</a></dt>
<dt><a name="imported_categories" href="grammar.html#imported_categories">Imported categories</a></dt>
<dt><a name="extended_objects" href="grammar.html#extended_objects">Extended objects</a></dt>
<dt><a name="instantiated_objects" href="grammar.html#instantiated_objects">Instantiated objects</a></dt>
<dt><a name="specialized_objects" href="grammar.html#specialized_objects">Specialized objects</a></dt>
<dt><a name="scope" href="grammar.html#scope">Entity scope</a></dt>
</dl>
<h3><a name="entity_identifiers" href="grammar.html#entity_identifiers">Entity identifiers</a></h3>
<ul>
<li><a name="object_identifiers" href="grammar.html#object_identifiers">Object identifiers</a></li>
<li><a name="category_identifiers" href="grammar.html#category_identifiers">Category identifiers</a></li>
<li><a name="protocol_identifiers" href="grammar.html#protocol_identifiers">Protocol identifiers</a></li>
</ul>
<dl>
<dt><a name="object_identifiers" href="grammar.html#object_identifiers">Object identifiers</a></dt>
<dt><a name="category_identifiers" href="grammar.html#category_identifiers">Category identifiers</a></dt>
<dt><a name="protocol_identifiers" href="grammar.html#protocol_identifiers">Protocol identifiers</a></dt>
</dl>
<h3><a name="directives" href="grammar.html#directives">Directives</a></h3>
<ul>
<li><a name="object_directives" href="grammar.html#object_directives">Object directives</a></li>
<li><a name="category_directives" href="grammar.html#category_directives">Category directives</a></li>
<li><a name="protocol_directives" href="grammar.html#protocol_directives">Protocol directives</a></li>
<li><a name="predicate_directives" href="grammar.html#predicate_directives">Predicate directives</a></li>
</ul>
<dl>
<dt><a name="object_directives" href="grammar.html#object_directives">Object directives</a></dt>
<dt><a name="category_directives" href="grammar.html#category_directives">Category directives</a></dt>
<dt><a name="protocol_directives" href="grammar.html#protocol_directives">Protocol directives</a></dt>
<dt><a name="predicate_directives" href="grammar.html#predicate_directives">Predicate directives</a></dt>
</dl>
<h3><a name="clauses" href="grammar.html#clauses">Clauses</a></h3>
@ -69,177 +69,177 @@
<h3>Entity directives</h3>
<ul>
<li><code><a name="calls1" href="directives/calls1.html">calls/1</a></code></li>
<li><code><a name="category1_2" href="directives/category1_2.html">category/1-2</a></code></li>
<li><code><a name="dynamic0" href="directives/dynamic0.html">dynamic/0</a></code></li>
<li><code><a name="end_category0" href="directives/end_category0.html">end_category/0</a></code></li>
<li><code><a name="end_object0" href="directives/end_object0.html">end_object/0</a></code></li>
<li><code><a name="end_protocol0" href="directives/end_protocol0.html">end_protocol/0</a></code></li>
<li><code><a name="info1" href="directives/info1.html">info/1</a></code></li>
<li><code><a name="initialization1" href="directives/initialization1.html">initialization/1</a></code></li>
<li><code><a name="object1_5" href="directives/object1_5.html">object/1-5</a></code></li>
<li><code><a name="protocol1_2" href="directives/protocol1_2.html">protocol/1-2</a></code></li>
<li><code><a name="uses1" href="directives/uses1.html">uses/1</a></code></li>
</ul>
<dl>
<dt><code><a name="calls1" href="directives/calls1.html">calls/1</a></code></dt>
<dt><code><a name="category1_2" href="directives/category1_2.html">category/1-2</a></code></dt>
<dt><code><a name="dynamic0" href="directives/dynamic0.html">dynamic/0</a></code></dt>
<dt><code><a name="end_category0" href="directives/end_category0.html">end_category/0</a></code></dt>
<dt><code><a name="end_object0" href="directives/end_object0.html">end_object/0</a></code></dt>
<dt><code><a name="end_protocol0" href="directives/end_protocol0.html">end_protocol/0</a></code></dt>
<dt><code><a name="info1" href="directives/info1.html">info/1</a></code></dt>
<dt><code><a name="initialization1" href="directives/initialization1.html">initialization/1</a></code></dt>
<dt><code><a name="object1_5" href="directives/object1_5.html">object/1-5</a></code></dt>
<dt><code><a name="protocol1_2" href="directives/protocol1_2.html">protocol/1-2</a></code></dt>
<dt><code><a name="uses1" href="directives/uses1.html">uses/1</a></code></dt>
</dl>
<h3>Predicate directives</h3>
<ul>
<li><code><a name="discontiguous1" href="directives/discontiguous1.html">discontiguous/1</a></code></li>
<li><code><a name="dynamic1" href="directives/dynamic1.html">dynamic/1</a></code></li>
<li><code><a name="info2" href="directives/info2.html">info/2</a></code></li>
<li><code><a name="metapredicate1" href="directives/metapredicate1.html">metapredicate/1</a></code></li>
<li><code><a name="mode2" href="directives/mode2.html">mode/2</a></code></li>
<li><code><a name="op3" href="directives/op3.html">op/3</a></code></li>
<li><code><a name="private1" href="directives/private1.html">private/1</a></code></li>
<li><code><a name="protected1" href="directives/protected1.html">protected/1</a></code></li>
<li><code><a name="public1" href="directives/public1.html">public/1</a></code></li>
</ul>
<dl>
<dt><code><a name="discontiguous1" href="directives/discontiguous1.html">discontiguous/1</a></code></dt>
<dt><code><a name="dynamic1" href="directives/dynamic1.html">dynamic/1</a></code></dt>
<dt><code><a name="info2" href="directives/info2.html">info/2</a></code></dt>
<dt><code><a name="metapredicate1" href="directives/metapredicate1.html">metapredicate/1</a></code></dt>
<dt><code><a name="mode2" href="directives/mode2.html">mode/2</a></code></dt>
<dt><code><a name="op3" href="directives/op3.html">op/3</a></code></dt>
<dt><code><a name="private1" href="directives/private1.html">private/1</a></code></dt>
<dt><code><a name="protected1" href="directives/protected1.html">protected/1</a></code></dt>
<dt><code><a name="public1" href="directives/public1.html">public/1</a></code></dt>
</dl>
<h2><a name="builtins"></a>Built-in predicates</h2>
<h3>Enumerating objects, categories and protocols</h3>
<ul>
<li><code><a name="current_category1" href="builtins/current_category1.html">current_category/1</a></code></li>
<li><code><a name="current_object1" href="builtins/current_object1.html">current_object/1</a></code></li>
<li><code><a name="current_protocol1" href="builtins/current_protocol1.html">current_protocol/1</a></code></li>
</ul>
<dl>
<dt><code><a name="current_category1" href="builtins/current_category1.html">current_category/1</a></code></dt>
<dt><code><a name="current_object1" href="builtins/current_object1.html">current_object/1</a></code></dt>
<dt><code><a name="current_protocol1" href="builtins/current_protocol1.html">current_protocol/1</a></code></dt>
</dl>
<h3>Enumerating objects, categories and protocols properties</h3>
<ul>
<li><code><a name="category_property2" href="builtins/category_property2.html">category_property/2</a></code></li>
<li><code><a name="object_property2" href="builtins/object_property2.html">object_property/2</a></code></li>
<li><code><a name="protocol_property2" href="builtins/protocol_property2.html">protocol_property/2</a></code></li>
</ul>
<dl>
<dt><code><a name="category_property2" href="builtins/category_property2.html">category_property/2</a></code></dt>
<dt><code><a name="object_property2" href="builtins/object_property2.html">object_property/2</a></code></dt>
<dt><code><a name="protocol_property2" href="builtins/protocol_property2.html">protocol_property/2</a></code></dt>
</dl>
<h3>Creating new objects, categories and protocols</h3>
<ul>
<li><code><a name="create_category4" href="builtins/create_category4.html">create_category/4</a></code></li>
<li><code><a name="create_object4" href="builtins/create_object4.html">create_object/4</a></code></li>
<li><code><a name="create_protocol3" href="builtins/create_protocol3.html">create_protocol/3</a></code></li>
</ul>
<dl>
<dt><code><a name="create_category4" href="builtins/create_category4.html">create_category/4</a></code></dt>
<dt><code><a name="create_object4" href="builtins/create_object4.html">create_object/4</a></code></dt>
<dt><code><a name="create_protocol3" href="builtins/create_protocol3.html">create_protocol/3</a></code></dt>
</dl>
<h3>Abolishing objects, categories and protocols</h3>
<ul>
<li><code><a name="abolish_category1" href="builtins/abolish_category1.html">abolish_category/1</a></code></li>
<li><code><a name="abolish_object1" href="builtins/abolish_object1.html">abolish_object/1</a></code></li>
<li><code><a name="abolish_protocol1" href="builtins/abolish_protocol1.html">abolish_protocol/1</a></code></li>
</ul>
<dl>
<dt><code><a name="abolish_category1" href="builtins/abolish_category1.html">abolish_category/1</a></code></dt>
<dt><code><a name="abolish_object1" href="builtins/abolish_object1.html">abolish_object/1</a></code></dt>
<dt><code><a name="abolish_protocol1" href="builtins/abolish_protocol1.html">abolish_protocol/1</a></code></dt>
</dl>
<h3>Objects, categories and protocols relations</h3>
<ul>
<li><code><a name="extends_object2_3" href="builtins/extends_object2_3.html">extends_object/2-3</a></code></li>
<li><code><a name="extends_protocol2_3" href="builtins/extends_protocol2_3.html">extends_protocol/2-3</a></code></li>
<li><code><a name="implements_protocol2_3" href="builtins/implements_protocol2_3.html">implements_protocol/2-3</a></code></li>
<li><code><a name="imports_category2_3" href="builtins/imports_category2_3.html">imports_category/2-3</a></code></li>
<li><code><a name="instantiates_class2_3" href="builtins/instantiates_class2_3.html">instantiates_class/2-3</a></code></li>
<li><code><a name="specializes_class2_3" href="builtins/specializes_class2_3.html">specializes_class/2-3</a></code></li>
</ul>
<dl>
<dt><code><a name="extends_object2_3" href="builtins/extends_object2_3.html">extends_object/2-3</a></code></dt>
<dt><code><a name="extends_protocol2_3" href="builtins/extends_protocol2_3.html">extends_protocol/2-3</a></code></dt>
<dt><code><a name="implements_protocol2_3" href="builtins/implements_protocol2_3.html">implements_protocol/2-3</a></code></dt>
<dt><code><a name="imports_category2_3" href="builtins/imports_category2_3.html">imports_category/2-3</a></code></dt>
<dt><code><a name="instantiates_class2_3" href="builtins/instantiates_class2_3.html">instantiates_class/2-3</a></code></dt>
<dt><code><a name="specializes_class2_3" href="builtins/specializes_class2_3.html">specializes_class/2-3</a></code></dt>
</dl>
<h3>Event handling</h3>
<ul>
<li><code><a name="abolish_events5" href="builtins/abolish_events5.html">abolish_events/5</a></code></li>
<li><code><a name="current_event5" href="builtins/current_event5.html">current_event/5</a></code></li>
<li><code><a name="define_events5" href="builtins/define_events5.html">define_events/5</a></code></li>
</ul>
<dl>
<dt><code><a name="abolish_events5" href="builtins/abolish_events5.html">abolish_events/5</a></code></dt>
<dt><code><a name="current_event5" href="builtins/current_event5.html">current_event/5</a></code></dt>
<dt><code><a name="define_events5" href="builtins/define_events5.html">define_events/5</a></code></dt>
</dl>
<h3>Compiling and loading objects, categories and protocols</h3>
<ul>
<li><code><a name="logtalk_compile1" href="builtins/logtalk_compile1.html">logtalk_compile/1</a></code></li>
<li><code><a name="logtalk_compile2" href="builtins/logtalk_compile2.html">logtalk_compile/2</a></code></li>
<li><code><a name="logtalk_load1" href="builtins/logtalk_load1.html">logtalk_load/1</a></code></li>
<li><code><a name="logtalk_load2" href="builtins/logtalk_load2.html">logtalk_load/2</a></code></li>
</ul>
<dl>
<dt><code><a name="logtalk_compile1" href="builtins/logtalk_compile1.html">logtalk_compile/1</a></code></dt>
<dt><code><a name="logtalk_compile2" href="builtins/logtalk_compile2.html">logtalk_compile/2</a></code></dt>
<dt><code><a name="logtalk_load1" href="builtins/logtalk_load1.html">logtalk_load/1</a></code></dt>
<dt><code><a name="logtalk_load2" href="builtins/logtalk_load2.html">logtalk_load/2</a></code></dt>
</dl>
<h3>Flags</h3>
<ul>
<li><code><a name="current_logtalk_flag2" href="builtins/current_logtalk_flag2.html">current_logtalk_flag/2</a></code></li>
<li><code><a name="set_logtalk_flag2" href="builtins/set_logtalk_flag2.html">set_logtalk_flag/2</a></code></li>
</ul>
<dl>
<dt><code><a name="current_logtalk_flag2" href="builtins/current_logtalk_flag2.html">current_logtalk_flag/2</a></code></dt>
<dt><code><a name="set_logtalk_flag2" href="builtins/set_logtalk_flag2.html">set_logtalk_flag/2</a></code></dt>
</dl>
<h3>Others</h3>
<ul>
<li><code><a name="forall2" href="builtins/forall2.html">forall/2</a></code></li>
<li><code><a name="retractall1" href="builtins/retractall1.html">retractall/1</a></code></li>
</ul>
<dl>
<dt><code><a name="forall2" href="builtins/forall2.html">forall/2</a></code></dt>
<dt><code><a name="retractall1" href="builtins/retractall1.html">retractall/1</a></code></dt>
</dl>
<h2><a name="methods"></a>Built-in methods</h2>
<h3>Local methods</h3>
<ul>
<li><code><a name="parameter2" href="methods/parameter2.html">parameter/2</a></code></li>
<li><code><a name="self1" href="methods/self1.html">self/1</a></code></li>
<li><code><a name="sender1" href="methods/sender1.html">sender/1</a></code></li>
<li><code><a name="this1" href="methods/this1.html">this/1</a></code></li>
</ul>
<dl>
<dt><code><a name="parameter2" href="methods/parameter2.html">parameter/2</a></code></dt>
<dt><code><a name="self1" href="methods/self1.html">self/1</a></code></dt>
<dt><code><a name="sender1" href="methods/sender1.html">sender/1</a></code></dt>
<dt><code><a name="this1" href="methods/this1.html">this/1</a></code></dt>
</dl>
<h3>Reflection methods</h3>
<ul>
<li><code><a name="current_predicate1" href="methods/current_predicate1.html">current_predicate/1</a></code></li>
<li><code><a name="predicate_property2" href="methods/predicate_property2.html">predicate_property/2</a></code></li>
</ul>
<dl>
<dt><code><a name="current_predicate1" href="methods/current_predicate1.html">current_predicate/1</a></code></dt>
<dt><code><a name="predicate_property2" href="methods/predicate_property2.html">predicate_property/2</a></code></dt>
</dl>
<h3>Database methods</h3>
<ul>
<li><code><a name="abolish1" href="methods/abolish1.html">abolish/1</a></code></li>
<li><code><a name="asserta1" href="methods/asserta1.html">asserta/1</a></code></li>
<li><code><a name="assertz1" href="methods/assertz1.html">assertz/1</a></code></li>
<li><code><a name="clause2" href="methods/clause2.html">clause/2</a></code></li>
<li><code><a name="retract1" href="methods/retract1.html">retract/1</a></code></li>
<li><code><a name="retractall1" href="methods/retractall1.html">retractall/1</a></code></li>
</ul>
<dl>
<dt><code><a name="abolish1" href="methods/abolish1.html">abolish/1</a></code></dt>
<dt><code><a name="asserta1" href="methods/asserta1.html">asserta/1</a></code></dt>
<dt><code><a name="assertz1" href="methods/assertz1.html">assertz/1</a></code></dt>
<dt><code><a name="clause2" href="methods/clause2.html">clause/2</a></code></dt>
<dt><code><a name="retract1" href="methods/retract1.html">retract/1</a></code></dt>
<dt><code><a name="retractall1" href="methods/retractall1.html">retractall/1</a></code></dt>
</dl>
<h3>All solutions methods</h3>
<ul>
<li><code><a name="bagof3" href="methods/bagof3.html">bagof/3</a></code></li>
<li><code><a name="findall3" href="methods/findall3.html">findall/3</a></code></li>
<li><code><a name="forall2" href="methods/forall2.html">forall/2</a></code></li>
<li><code><a name="setof3" href="methods/setof3.html">setof/3</a></code></li>
</ul>
<dl>
<dt><code><a name="bagof3" href="methods/bagof3.html">bagof/3</a></code></dt>
<dt><code><a name="findall3" href="methods/findall3.html">findall/3</a></code></dt>
<dt><code><a name="forall2" href="methods/forall2.html">forall/2</a></code></dt>
<dt><code><a name="setof3" href="methods/setof3.html">setof/3</a></code></dt>
</dl>
<h3>Event handler methods</h3>
<ul>
<li><code><a name="before3" href="methods/before3.html">before/3</a></code></li>
<li><code><a name="after3" href="methods/after3.html">after/3</a></code></li>
</ul>
<dl>
<dt><code><a name="before3" href="methods/before3.html">before/3</a></code></dt>
<dt><code><a name="after3" href="methods/after3.html">after/3</a></code></dt>
</dl>
<h3>DCG rules parsing methods</h3>
<ul>
<li><code><a name="phrase2" href="methods/phrase2.html">phrase/2</a></code></li>
<li><code><a name="phrase3" href="methods/phrase3.html">phrase/3</a></code></li>
</ul>
<dl>
<dt><code><a name="phrase2" href="methods/phrase2.html">phrase/2</a></code></dt>
<dt><code><a name="phrase3" href="methods/phrase3.html">phrase/3</a></code></dt>
</dl>
<h2><a name="constructs"></a>Control constructs</h2>
<h3>Message sending</h3>
<ul>
<li><code><a name="to_object2" href="control/to_object2.html">::/2</a></code></li>
<li><code><a name="to_self1" href="control/to_self1.html">::/1</a></code></li>
<li><code><a name="to_super1" href="control/to_super1.html">^^/1</a></code></li>
</ul>
<dl>
<dt><code><a name="to_object2" href="control/to_object2.html">::/2</a></code></dt>
<dt><code><a name="to_self1" href="control/to_self1.html">::/1</a></code></dt>
<dt><code><a name="to_super1" href="control/to_super1.html">^^/1</a></code></dt>
</dl>
<h3>Calling external code</h3>
<ul>
<li><code><a name="to_object2" href="control/external1.html">{}/1</a></code></li>
</ul>
<dl>
<dt><code><a name="to_object2" href="control/external1.html">{}/1</a></code></dt>
</dl>
<div class="navbottom">
<a href="../glossary.html">glossary</a>
@ -250,7 +250,7 @@ Copyright &copy; <a href="mailto:pmoura@logtalk.org">Paulo Moura</a> &mdash; <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: December 23, 2003</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: April 25, 2003</span></p>
</div>
</body>
</html>

View File

@ -22,35 +22,35 @@
<h2><a name="lists" href="lists.html">List predicates</a></h2>
<ul>
<li><a name="lists_object" href="lists.html#object">Defining a list object</a></li>
<li><a name="lists_protocol" href="lists.html#protocol">Defining a list protocol</a></li>
<li><a name="lists_summary" href="lists.html#summary">Summary</a></li>
</ul>
<dl>
<dt><a name="lists_object" href="lists.html#object">Defining a list object</a></dt>
<dt><a name="lists_protocol" href="lists.html#protocol">Defining a list protocol</a></dt>
<dt><a name="lists_summary" href="lists.html#summary">Summary</a></dt>
</dl>
<h2><a name="attributes" href="attributes.html">Dynamic object attributes</a></h2>
<ul>
<li><a name="attributes_category" href="attributes.html#category">Defining a category</a></li>
<li><a name="attributes_importing" href="attributes.html#importing">Importing the category</a></li>
<li><a name="attributes_summary" href="attributes.html#summary">Summary</a></li>
</ul>
<dl>
<dt><a name="attributes_category" href="attributes.html#category">Defining a category</a></dt>
<dt><a name="attributes_importing" href="attributes.html#importing">Importing the category</a></dt>
<dt><a name="attributes_summary" href="attributes.html#summary">Summary</a></dt>
</dl>
<h2><a name="reflection" href="reflection.html">A reflective class-based system</a></h2>
<ul>
<li><a name="reflection_classes" href="reflection.html#classes">Defining the base classes</a></li>
<li><a name="reflection_summary" href="reflection.html#summary">Summary</a></li>
</ul>
<dl>
<dt><a name="reflection_classes" href="reflection.html#classes">Defining the base classes</a></dt>
<dt><a name="reflection_summary" href="reflection.html#summary">Summary</a></dt>
</dl>
<h2><a name="profiling" href="profiling.html">Profiling programs</a></h2>
<ul>
<li><a name="profiling_events" href="profiling.html#events">Messages as events</a></li>
<li><a name="profiling_monitors" href="profiling.html#monitors">Profilers as monitors</a></li>
<li><a name="profiling_summary" href="profiling.html#summary">Summary</a></li>
</ul>
<dl>
<dt><a name="profiling_events" href="profiling.html#events">Messages as events</a></dt>
<dt><a name="profiling_monitors" href="profiling.html#monitors">Profilers as monitors</a></dt>
<dt><a name="profiling_summary" href="profiling.html#summary">Summary</a></dt>
</dl>
<div class="navbottom">
<a href="../glossary.html">glossary</a>
@ -61,7 +61,7 @@ Copyright &copy; <a href="mailto:pmoura@logtalk.org">Paulo Moura</a> &mdash; <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: December 23, 2003</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: April 25, 2003</span></p>
</div>
</body>
</html>

View File

@ -135,7 +135,7 @@ To view the XML documenting files you can open them in a web browser that suppor
</p>
<div class="navbottom">
<a href="errors.html">previous</a> | <a href="../glossary.html">glossary</a> | <a href="configuration.html">next</a>
<a href="errors.html">previous</a> | <a href="../glossary.html">glossary</a> | <a href="installing.html">next</a>
</div>
<div class="copyright">

View File

@ -22,86 +22,86 @@
<h2><a name="features" href="features.html">Logtalk features</a></h2>
<ul>
<li><a name="features_logic" href="features.html#logic">Integration of logic and object-oriented programming</a></li>
<li><a name="features_events" href="features.html#events">Integration of event-driven and object-oriented programming</a></li>
<li><a name="features_both" href="features.html#both">Support for both prototype and class-based systems</a></li>
<li><a name="features_multiple" href="features.html#multiple">Support for multiple object hierarchies</a></li>
<li><a name="features_interface" href="features.html#interface">Separation between interface and implementation</a></li>
<li><a name="features_inheritance" href="features.html#inheritance">Private, protected and public inheritance</a></li>
<li><a name="features_predicates" href="features.html#predicates">Private, protected and public object predicates</a></li>
<li><a name="features_parametric" href="features.html#parametric">Parametric objects</a></li>
<li><a name="features_learning" href="features.html#learning">Smooth learning curve</a></li>
<li><a name="features_compatibility" href="features.html#compatibility">Compatibility with most Prologs and the ISO standard</a></li>
</ul>
<dl>
<dt><a name="features_logic" href="features.html#logic">Integration of logic and object-oriented programming</a></dt>
<dt><a name="features_events" href="features.html#events">Integration of event-driven and object-oriented programming</a></dt>
<dt><a name="features_both" href="features.html#both">Support for both prototype and class-based systems</a></dt>
<dt><a name="features_multiple" href="features.html#multiple">Support for multiple object hierarchies</a></dt>
<dt><a name="features_interface" href="features.html#interface">Separation between interface and implementation</a></dt>
<dt><a name="features_inheritance" href="features.html#inheritance">Private, protected and public inheritance</a></dt>
<dt><a name="features_predicates" href="features.html#predicates">Private, protected and public object predicates</a></dt>
<dt><a name="features_parametric" href="features.html#parametric">Parametric objects</a></dt>
<dt><a name="features_learning" href="features.html#learning">Smooth learning curve</a></dt>
<dt><a name="features_compatibility" href="features.html#compatibility">Compatibility with most Prologs and the ISO standard</a></dt>
</dl>
<h2><a name="messages" href="messages.html">Message sending</a></h2>
<ul>
<li><a name="messages_operators" href="messages.html#operators">Operators used in message sending</a></li>
<li><a name="messages_sending" href="messages.html#sending">Sending a message to an object</a></li>
<li><a name="messages_broadcasting" href="messages.html#broadcasting">Broadcasting</a></li>
<li><a name="messages_self" href="messages.html#self">Sending a message to <em>self</em></a></li>
<li><a name="messages_super" href="messages.html#super">Calling an overridden predicate definition</a></li>
<li><a name="messages_events" href="messages.html#events">Message sending and event generation</a></li>
</ul>
<dl>
<dt><a name="messages_operators" href="messages.html#operators">Operators used in message sending</a></dt>
<dt><a name="messages_sending" href="messages.html#sending">Sending a message to an object</a></dt>
<dt><a name="messages_broadcasting" href="messages.html#broadcasting">Broadcasting</a></dt>
<dt><a name="messages_self" href="messages.html#self">Sending a message to <em>self</em></a></dt>
<dt><a name="messages_super" href="messages.html#super">Calling an overridden predicate definition</a></dt>
<dt><a name="messages_events" href="messages.html#events">Message sending and event generation</a></dt>
</dl>
<h2><a name="objects" href="objects.html">Objects</a></h2>
<ul>
<li><a name="objects_kind" href="objects.html#kind">Objects, prototypes, classes and instances</a></li>
<li><a name="objects_defining" href="objects.html#defining">Defining a new object</a></li>
<li><a name="objects_parametric" href="objects.html#parametric">Parametric objects</a></li>
<li><a name="objects_finding" href="objects.html#finding">Finding defined objects</a></li>
<li><a name="objects_creating" href="objects.html#creating">Creating a new object in runtime</a></li>
<li><a name="objects_abolishing" href="objects.html#abolishing">Abolishing an existing object</a></li>
<li><a name="objects_directives" href="objects.html#directives">Object directives</a></li>
<dl>
<dt><a name="objects_kind" href="objects.html#kind">Objects, prototypes, classes and instances</a></dt>
<dt><a name="objects_defining" href="objects.html#defining">Defining a new object</a></dt>
<dt><a name="objects_parametric" href="objects.html#parametric">Parametric objects</a></dt>
<dt><a name="objects_finding" href="objects.html#finding">Finding defined objects</a></dt>
<dt><a name="objects_creating" href="objects.html#creating">Creating a new object in runtime</a></dt>
<dt><a name="objects_abolishing" href="objects.html#abolishing">Abolishing an existing object</a></dt>
<dt><a name="objects_directives" href="objects.html#directives">Object directives</a></dt>
<dd><a name="objects_initialization" href="objects.html#initialization">Object initialization</a></dd>
<dd><a name="objects_dynamic" href="objects.html#dynamic">Dynamic objects</a></dd>
<dd><a name="objects_dependencies" href="objects.html#dependencies">Object dependencies</a></dd>
<dd><a name="objects_documentation" href="objects.html#documentation">Object documentation</a></dd>
<li><a name="objects_relationships" href="objects.html#relationships">Object relationships</a></li>
<li><a name="objects_properties" href="objects.html#properties">Object properties</a></li>
<li><a name="objects_user" href="objects.html#user">The pseudo-object user</a></li>
</ul>
<dt><a name="objects_relationships" href="objects.html#relationships">Object relationships</a></dt>
<dt><a name="objects_properties" href="objects.html#properties">Object properties</a></dt>
<dt><a name="objects_user" href="objects.html#user">The pseudo-object user</a></dt>
</dl>
<h2><a name="protocols" href="protocols.html">Protocols</a></h2>
<ul>
<li><a name="protocols_defining" href="protocols.html#defining">Defining a new protocol</a></li>
<li><a name="protocols_finding" href="protocols.html#finding">Finding defined protocols</a></li>
<li><a name="protocols_creating" href="protocols.html#creating">Creating a new protocol in runtime</a></li>
<li><a name="protocols_abolishing" href="protocols.html#abolishing">Abolishing an existing protocol</a></li>
<li><a name="protocols_directives" href="protocols.html#directives">Protocol directives</a></li>
<dl>
<dt><a name="protocols_defining" href="protocols.html#defining">Defining a new protocol</a></dt>
<dt><a name="protocols_finding" href="protocols.html#finding">Finding defined protocols</a></dt>
<dt><a name="protocols_creating" href="protocols.html#creating">Creating a new protocol in runtime</a></dt>
<dt><a name="protocols_abolishing" href="protocols.html#abolishing">Abolishing an existing protocol</a></dt>
<dt><a name="protocols_directives" href="protocols.html#directives">Protocol directives</a></dt>
<dd><a name="protocols_initialization" href="protocols.html#initialization">Protocol initialization</a></dd>
<dd><a name="protocols_dynamic" href="protocols.html#dynamic">Dynamic protocols</a></dd>
<dd><a name="protocols_documentation" href="protocols.html#documentation">Protocol documentation</a></dd>
<li><a name="protocols_relationships" href="protocols.html#relationships">Protocol relationships</a></li>
<li><a name="protocols_properties" href="protocols.html#properties">Protocol properties</a></li>
<li><a name="protocols_implementing" href="protocols.html#properties">Implementing protocols</a></li>
</ul>
<dt><a name="protocols_relationships" href="protocols.html#relationships">Protocol relationships</a></dt>
<dt><a name="protocols_properties" href="protocols.html#properties">Protocol properties</a></dt>
<dt><a name="protocols_implementing" href="protocols.html#properties">Implementing protocols</a></dt>
</dl>
<h2><a name="categories" href="categories.html">Categories</a></h2>
<ul>
<li><a name="categories_defining" href="categories.html#defining">Defining a new category</a></li>
<li><a name="categories_finding" href="categories.html#finding">Finding defined categories</a></li>
<li><a name="categories_creating" href="categories.html#creating">Creating a new category in runtime</a></li>
<li><a name="categories_abolishing" href="categories.html#abolishing">Abolishing an existing category</a></li>
<li><a name="categories_directives" href="categories.html#directives">Category directives</a></li>
<dl>
<dt><a name="categories_defining" href="categories.html#defining">Defining a new category</a></dt>
<dt><a name="categories_finding" href="categories.html#finding">Finding defined categories</a></dt>
<dt><a name="categories_creating" href="categories.html#creating">Creating a new category in runtime</a></dt>
<dt><a name="categories_abolishing" href="categories.html#abolishing">Abolishing an existing category</a></dt>
<dt><a name="categories_directives" href="categories.html#directives">Category directives</a></dt>
<dd><a name="categories_initialization" href="categories.html#initialization">Category initialization</a></dd>
<dd><a name="categories_dynamic" href="categories.html#dynamic">Dynamic categories</a></dd>
<dd><a name="categories_dependencies" href="categories.html#dependencies">Category dependencies</a></dd>
<dd><a name="categories_documentation" href="categories.html#documentation">Category documentation</a></dd>
<li><a name="categories_relationships" href="categories.html#relationships">Category relationships</a></li>
<li><a name="categories_properties" href="categories.html#properties">Category properties</a></li>
<li><a name="categories_importing" href="categories.html#importing">Importing categories</a></li>
</ul>
<dt><a name="categories_relationships" href="categories.html#relationships">Category relationships</a></dt>
<dt><a name="categories_properties" href="categories.html#properties">Category properties</a></dt>
<dt><a name="categories_importing" href="categories.html#importing">Importing categories</a></dt>
</dl>
<h2><a name="predicates" href="predicates.html">Predicates</a></h2>
<ul>
<li><a name="predicates_declaring" href="predicates.html#declaring">Declaring predicate</a></li>
<dl>
<dt><a name="predicates_declaring" href="predicates.html#declaring">Declaring predicate</a></dt>
<dd><a name="predicates_scope" href="predicates.html#scope">Scope directives</a></dd>
<dd><a name="predicates_mode" href="predicates.html#mode">Mode directive</a></dd>
<dd><a name="predicates_meta" href="predicates.html#meta">Metapredicate directive</a></dd>
@ -109,54 +109,54 @@
<dd><a name="predicates_dynamic" href="predicates.html#dynamic">Dynamic directive</a></dd>
<dd><a name="predicates_op" href="predicates.html#op">Operator directive</a></dd>
<dd><a name="predicates_info" href="predicates.html#info">Documenting directive</a></dd>
<li><a name="predicates_defining" href="predicates.html#defining">Defining predicates</a></li>
<dt><a name="predicates_defining" href="predicates.html#defining">Defining predicates</a></dt>
<dd><a name="predicates_objects" href="predicates.html#objects">Object predicates</a></dd>
<dd><a name="predicates_categories" href="predicates.html#categories">Category predicates</a></dd>
<li><a name="predicates_methods" href="predicates.html#methods">Built-in object predicates (methods)</a></li>
<dt><a name="predicates_methods" href="predicates.html#methods">Built-in object predicates (methods)</a></dt>
<dd><a name="predicates_local" href="predicates.html#local">Local methods</a></dd>
<dd><a name="predicates_database" href="predicates.html#database">Database methods</a></dd>
<dd><a name="predicates_solutions" href="predicates.html#solutions">All solutions methods</a></dd>
<dd><a name="predicates_reflection" href="predicates.html#reflection">Reflection methods</a></dd>
<li><a name="predicates_properties" href="predicates.html#properties">Predicate properties</a></li>
<li><a name="predicates_finding" href="predicates.html#finding">Finding declared predicates</a></li>
</ul>
<dt><a name="predicates_properties" href="predicates.html#properties">Predicate properties</a></dt>
<dt><a name="predicates_finding" href="predicates.html#finding">Finding declared predicates</a></dt>
</dl>
<h2><a name="inheritance" href="inheritance.html">Inheritance</a></h2>
<ul>
<li><a name="inheritance_protocol" href="inheritance.html#protocol">Protocol inheritance</a></li>
<dl>
<dt><a name="inheritance_protocol" href="inheritance.html#protocol">Protocol inheritance</a></dt>
<dd><a name="inheritance_protocol_prototype" href="inheritance.html#protocol_prototype">Search order for prototype hierarchies</a></dd>
<dd><a name="inheritance_protocol_class" href="inheritance.html#protocol_class">Search order for class hierarchies</a></dd>
<li><a name="inheritance_implementation" href="inheritance.html#implementation">Implementation inheritance</a></li>
<dt><a name="inheritance_implementation" href="inheritance.html#implementation">Implementation inheritance</a></dt>
<dd><a name="inheritance_implementation_prototype" href="inheritance.html#implementation_prototype">Search order for prototype hierarchies</a></dd>
<dd><a name="inheritance_implementation_class" href="inheritance.html#implementation_class">Search order for class hierarchies</a></dd>
<dd><a name="inheritance_implementation_redefinition" href="inheritance.html#implementation_redefinition">Inheritance versus predicate redefinition</a></dd>
<li><a name="inheritance_types" href="inheritance.html#types">Public, protected and private inheritance</a></li>
<li><a name="inheritance_composition" href="inheritance.html#composition">Composition versus multiple inheritance</a></li>
</ul>
<dt><a name="inheritance_types" href="inheritance.html#types">Public, protected and private inheritance</a></dt>
<dt><a name="inheritance_composition" href="inheritance.html#composition">Composition versus multiple inheritance</a></dt>
</dl>
<h2><a name="events" href="events.html">Event-driven programming</a></h2>
<ul>
<li><a name="events_definitions" href="events.html#definitions">Definitions</a></li>
<dl>
<dt><a name="events_definitions" href="events.html#definitions">Definitions</a></dt>
<dd><a name="events_event" href="events.html#event">Event</a></dd>
<dd><a name="events_monitor" href="events.html#monitor">Monitor</a></dd>
<li><a name="events_generation" href="events.html#generation">Event generation</a></li>
<li><a name="events_communicating" href="events.html#communicating">Communicating events to monitors</a></li>
<li><a name="events_performance" href="events.html#performance">Performance concerns</a></li>
<li><a name="events_semantics" href="events.html#semantics">Monitor semantics</a></li>
<li><a name="events_order" href="events.html#order">Activation order of monitors</a></li>
<li><a name="events_handling" href="events.html#handling">Event handling</a></li>
<dt><a name="events_generation" href="events.html#generation">Event generation</a></dt>
<dt><a name="events_communicating" href="events.html#communicating">Communicating events to monitors</a></dt>
<dt><a name="events_performance" href="events.html#performance">Performance concerns</a></dt>
<dt><a name="events_semantics" href="events.html#semantics">Monitor semantics</a></dt>
<dt><a name="events_order" href="events.html#order">Activation order of monitors</a></dt>
<dt><a name="events_handling" href="events.html#handling">Event handling</a></dt>
<dd><a name="events_finding" href="events.html#finding">Finding defined events</a></dd>
<dd><a name="events_defining" href="events.html#defining">Defining new events</a></dd>
<dd><a name="events_abolishing" href="events.html#abolishing">Abolishing defined events</a></dd>
<dd><a name="events_handlers" href="events.html#handlers">Defining event handlers</a></dd>
</ul>
</dl>
<h2><a name="errors" href="errors.html">Error handling</a></h2>
<ul>
<li><a name="errors_compiler" href="errors.html#compiler">Compiler warnings and errors</a></li>
<dl>
<dt><a name="errors_compiler" href="errors.html#compiler">Compiler warnings and errors</a></dt>
<dd><a name="errors_wunknown" href="errors.html#wunknown">Unknown entities</a></dd>
<dd><a name="errors_wsingletons" href="errors.html#wsingletons">Singleton variables</a></dd>
<dd><a name="errors_wprolog" href="errors.html#wprolog">Redefinition of Prolog built-in predicates</a></dd>
@ -165,58 +165,64 @@
<dd><a name="errors_wmisspell" href="errors.html#wmisspell">Misspell calls of local predicates</a></dd>
<dd><a name="errors_wportability" href="errors.html#wportability">Portability warnings</a></dd>
<dd><a name="errors_wothers" href="errors.html#wothers">Other warnings and errors</a></dd>
<li><a name="errors_runtime" href="errors.html#runtime">Runtime errors</a></li>
<dt><a name="errors_runtime" href="errors.html#runtime">Runtime errors</a></dt>
<dd><a name="errors_predicates" href="errors.html#unknownMessage">Logtalk built-in predicates</a></dd>
<dd><a name="errors_methods" href="errors.html#methods">Logtalk built-in methods</a></dd>
<dd><a name="errors_sending" href="errors.html#sending">Message sending</a></dd>
</ul>
</dl>
<h2><a name="documenting" href="documenting.html">Documenting Logtalk programs</a></h2>
<ul>
<li><a name="documenting_directives" href="documenting.html#directives">Documenting directives</a></li>
<dl>
<dt><a name="documenting_directives" href="documenting.html#directives">Documenting directives</a></dt>
<dd><a name="documenting_entity" href="documenting.html#entity">Entity directives</a></dd>
<dd><a name="documenting_predicate" href="documenting.html#predicate">Predicate directives</a></dd>
<li><a name="documenting_processing" href="documenting.html#processing">Processing and viewing documenting files</a></li>
</ul>
<dt><a name="documenting_processing" href="documenting.html#processing">Processing and viewing documenting files</a></dt>
</dl>
<h2><a name="configuration" href="configuration.html">Configuring Logtalk</a></h2>
<h2><a name="installing" href="installing.html">Installing Logtalk</a></h2>
<ul>
<li><a name="configuration_requirements" href="configuration.html#requirements">Hardware &amp; software requirements</a></li>
<dd><a name="configuration_computer" href="configuration.html#computer">Computer and operating system</a></dd>
<dd><a name="configuration_compiler" href="configuration.html#compiler">Prolog compiler</a></dd>
<li><a name="configuration_files" href="configuration.html#files">Configuration file contents</a></li>
</ul>
<h2><a name="installing" href="installing.html">Installing and running Logtalk</a></h2>
<ul>
<li><a name="installing_installing" href="installing.html#installing">Installing Logtalk</a></li>
<dd><a name="installing_organization" href="installing.html#organization">Directories and files organization</a></dd>
<dl>
<dt><a name="installing_installing" href="installing.html#installing">Installing Logtalk</a></dt>
<dt><a name="installing_requirements" href="installing.html#requirements">Hardware &amp; software requirements</a></dt>
<dd><a name="installing_computer" href="installing.html#computer">Computer and operating system</a></dd>
<dd><a name="installing_compiler" href="installing.html#compiler">Prolog compiler</a></dd>
<dt><a name="installing_organization" href="installing.html#organization">Directories and files organization</a></dt>
<dd><a name="installing_configs" href="installing.html#configs">Configuration files</a></dd>
<dd><a name="installing_compiler" href="installing.html#compiler">Logtalk compiler and runtime</a></dd>
<dd><a name="installing_library" href="installing.html#library">Library</a></dd>
<dd><a name="installing_examples" href="installing.html#examples">Examples</a></dd>
<dd><a name="installing_entities" href="installing.html#entities">Logtalk source files</a></dd>
<dd><a name="installing_loaders" href="installing.html#loaders">Loader utility files</a></dd>
<li><a name="installing_running" href="installing.html#running">Running a Logtalk session</a></li>
<dd><a name="installing_starting" href="installing.html#starting">Starting Logtalk</a></dd>
<dd><a name="installing_compiling" href="installing.html#compiling">Compiling and loading your programs</a></dd>
<dd><a name="installing_options" href="installing.html#options">Compiler option flags</a></dd>
<dd><a name="installing_smart" href="installing.html#smart">Smart compilation of source files</a></dd>
<li><a name="installing_batch" href="installing.html#batch">Using Logtalk for batch processing</a></li>
</ul>
</dl>
<h2><a name="running" href="running.html">Running and debugging Logtalk programs</a></h2>
<dl>
<dt><a name="running_running" href="running.html#running">Running a Logtalk session</a></dt>
<dd><a name="running_starting" href="running.html#starting">Starting Logtalk</a></dd>
<dd><a name="running_compiling" href="running.html#compiling">Compiling and loading your programs</a></dd>
<dd><a name="running_options" href="running.html#options">Compiler option flags</a></dd>
<dd><a name="running_smart" href="running.html#smart">Smart compilation of source files</a></dd>
<dt><a name="running_batch" href="running.html#batch">Using Logtalk for batch processing</a></dt>
<dt><a name="running_debugging" href="running.html#debugging">Debugging Logtalk programs</a></dt>
<dd><a name="running_debugmode" href="running.html#debugmode">Compiling objects in debug mode</a></dd>
<dd><a name="running_boxmodel" href="running.html#boxmodel">Logtalk Procedure Box model</a></dd>
<dd><a name="running_spypoints" href="running.html#spypoints">Defining spy points</a></dd>
<dd><a name="running_trace" href="running.html#trace">Tracing program execution</a></dd>
<dd><a name="running_debug" href="running.html#debug">Debugging using spy points</a></dd>
<dd><a name="running_commands" href="running.html#commands">Debugging commands</a></dd>
</dl>
<h2><a name="programming" href="programming.html">Programming in Logtalk</a></h2>
<ul>
<li><a name="programming_scope" href="programming.html#scope">Logtalk scope</a></li>
<li><a name="programming_writing" href="programming.html#writing">Writing programs</a></li>
<dl>
<dt><a name="programming_scope" href="programming.html#scope">Logtalk scope</a></dt>
<dt><a name="programming_writing" href="programming.html#writing">Writing programs</a></dt>
<dd><a name="programming_source_files" href="programming.html#source_files">Source files</a></dd>
<dd><a name="programming_portability" href="programming.html#portability">Portable programs</a></dd>
<dd><a name="programming_errors" href="programming.html#errors">Avoiding common errors</a></dd>
</ul>
</dl>
<div class="navbottom">
<a href="../glossary.html">glossary</a>
@ -227,7 +233,7 @@ Copyright &copy; <a href="mailto:pmoura@logtalk.org">Paulo Moura</a> &mdash; <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: March 29, 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: April 25, 2004</span></p>
</div>
</body>
</html>

View File

@ -8,7 +8,7 @@
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<title>Logtalk user manual: installing and running Logtalk</title>
<title>Logtalk user manual: installing Logtalk</title>
<link rel="stylesheet" href="../styles.css" type="text/css" />
</head>
@ -18,12 +18,37 @@
<a href="../index.html">contents</a> &gt; <a href="index.html">user manual</a>
</div>
<h1>Installing and running Logtalk</h1>
<h1>Installing Logtalk</h1>
<h2>Hardware &amp; software requirements<a name="requirements"></a></h2>
<h3>Computer and operating system<a name="computer"></a></h3>
<p>
Logtalk is compatible with almost any machine/operating system with a modern Prolog compiler available. Currently, my main development environment is an upgraded Apple PowerMacintosh 7600 running Mac OS 9 and LinuxPPC; most used compilers are the Mac port of GNU Prolog and, under Linux, YAP and SWI Prolog. Being written in Prolog and distributed in source form, the only issue regarding operating system compatibility are the end-of-line codes in the source text files! Most example source file names do not fit in the 8+3 MS-DOS file length limitation, so this may prevent those examples from running under this operating system (or in any other system with similar limitations).
</p>
<h3>Prolog compiler<a name="compiler"></a></h3>
<p>
In writing Logtalk I have tried to follow the recently approved Prolog ISO standard whenever possible. Capabilities needed by Logtalk that are not defined in the ISO standard are:
</p>
<ul>
<li>access to predicate properties (<code>dynamic</code>, <code>static</code>, <code>built_in</code>)</li>
</ul>
<p>
Logtalk needs access to the predicate property<code>built_in</code> to properly compile objects and categories that contain Prolog built-in predicates calls. In addition, some Logtalk built-ins need to know the dynamic/static status of predicates to ensure correct application. The ISO standard for Prolog modules defines a <code>predicate_property/2</code> predicate that is already implemented by most Prolog compilers. Note that if these capabilities are not built-in the user cannot easily define them.</p>
<p>
For optimal performance, Logtalk requires that the Prolog compiler supports <strong>first-argument indexing</strong> for both static and dynamic code (most modern compilers support this feature).
</p>
<p>
Since most Prolog compilers are moving closer to the ISO Prolog standard <a href="../bibliography.html#ISO95">[ISO 95]</a>, it is advisable that you try to use a recent version of your favorite Prolog compiler.
</p>
<h2>Installing Logtalk<a name="installing"></a></h2>
<p>
The Logtalk system can be installed in any directory that is accessible to the user. The installation process consists merely in decompressing an archive file that will lead to a new directory with the structure/contents described below. The decompression process naturally depends on the operative system that you are using. Users wishing to use the Logtalk library and Logtalk examples will need write access to the respective directories.
The Logtalk system can be installed in any directory that is accessible to the user. The installation process consists merely in decompressing an archive file that will lead to a new directory with the structure/contents described below. The decompression process naturally depends on the operative system that you are using. For some operating systems, an installer may be provided. Users wishing to use the Logtalk library and Logtalk examples will need write access to the respective directories or to make a local copy these directories on their home directories. See the file <code>INSTALL</code> for details. The directory <code>misc</code> may contain scripts for helping with Logtalk packaging, installation, and integration with Prolog compilers.
</p>
<h4>Mac OS 8.x, 9.x</h4>
@ -60,12 +85,14 @@ The OS/2 and Windows 95/98/NT/ME/2000 version is included in the file <code>lgt2
Almost all files in the Logtalk distribution are text files. The only difference between the source files, other than the compressing formats, is the end-of-line codes: Macintosh uses a carriage return, Unix uses a line feed, OS/2, Windows 95/NT uses both a carriage return and a line feed. This should make it easier to install Logtalk under other operating systems.
</p>
<h3>Directories and files organization<a name="organization"></a></h3>
<h2>Directories and files organization<a name="organization"></a></h2>
<p>
In the Logtalk installation directory, you will find the following files and directories:
</p>
<dl>
<dt><code>BIBLIOGRAPHY</code> - Logtalk bibliography in BibTeX format</dt>
<dt><code>INSTALL</code> - Logtalk installation instructions</dt>
<dt><code>LICENSE</code> - Logtalk user license</dt>
<dt><code>QUICK_START</code> - Quick start instructions for those that do not like to read manuals</dt>
<dt><code>README</code> - several useful information</dt>
@ -98,6 +125,9 @@ In the Logtalk installation directory, you will find the following files and dir
<dd><code>glossary.html</code> - glossary</dd>
<dd><code>index.html</code> - root document for all documentation</dd>
<dd><code>...</code> - other documentation files</dd>
<dt><code>misc</code></dt>
<dd><code>NOTES</code> - notes on diverse files for Logtalk packaging, installation, and integration with Prolog compilers</dd>
<dd><code>...</code> - packaging, installation, and integration files</dd>
<dt><code>wenv</code></dt>
<dd><code>NOTES</code> - notes on the text editors syntax configuration files providing syntax coloring for editing Logtalk source files</dd>
<dd><code>...</code> - syntax configuration files</dd>
@ -112,10 +142,10 @@ In the Logtalk installation directory, you will find the following files and dir
<h3>Configuration files<a name="configs"></a></h3>
<p>
Logtalk includes several configuration files for most academic and commercial Prolog compilers. If a configuration file is not available for the compiler that you intend to use, then you need to build a new one, starting from the included <code>template.config</code> file.
Configuration files provide the glue code between the Logtalk preprocessor/runtime and a Prolog compiler. Each configuration file contains two sets of predicates: ISO Prolog standard predicates and directives not built-in in the target Prolog compiler and Logtalk-specific predicates.
</p>
<p>
Since most Prolog compilers are moving closer to the ISO Prolog standard <a href="../bibliography.html#ISO95">[ISO 95]</a>, it is advisable that you try to use a recent version of your Prolog compiler of choice.
Logtalk already includes ready to use configuration files for most academic and commercial Prolog compilers. If a configuration file is not available for the compiler that you intend to use, then you need to build a new one, starting from the included <code>template.config</code> file. Start by making a copy of the template file. Carefully check (or complete if needed) each listed definition. If your Prolog compiler conforms to the ISO standard, this task should only take you a few minutes. In most cases, you can borrow code from some of the predefined configuration files. If you are unsure that your Prolog compiler provides all the ISO predicates needed by Logtalk, try to run the system by setting the unknown predicate error handler to report as an error any call to a missing predicate. Better yet, switch to a modern, ISO compliant, Prolog compiler. If you send me your configuration file, with a reference to the target Prolog compiler, maybe I can include it in the next release of Logtalk.
</p>
<h3>Logtalk compiler and runtime<a name="compiler"></a></h3>
@ -161,180 +191,8 @@ Usually these files contain a call to the Logtalk built-in predicates <a title="
These loader files may not work without modifications depending on the way your Prolog compiler deals with folders/directories. Most of the time you will need to <strong>set the working directory</strong> to be the one that contains the loader file in order to get the example source files loaded. Unfortunately, there is no portable way for us to do that from inside Logtalk due to differences between operating systems and lack of adequate operating system access support in some Prolog compilers.
</p>
<h2>Running a Logtalk session<a name="running"></a></h2>
<p>
We run Logtalk inside a normal Prolog session, after loading the needed files. Logtalk extends but does not modify your Prolog compiler. We can freely mix Prolog queries with the sending of messages and our programs can be made of both normal Prolog clauses and object definitions.
</p>
<h3>Starting Logtalk<a name="starting"></a></h3>
<p>
To start a Logtalk session just:
</p>
<ol>
<li>Start Prolog.</li>
<li>Load the appropriate configuration file for your compiler. Configuration files for most common Prolog compilers can be found in the <code>configs</code> subdirectory.</li>
<li>Load the Logtalk compiler/preprocessor and runtime files contained in the <code>compiler</code> subdirectory.</li>
</ol>
<p>
Note that the both configuration files and compiler/preprocessor files are Prolog source files. The predicate called to load (and compile) them depends on your Prolog compiler. In case of doubt, consult your Prolog compiler reference manual or take a look at the definition of the predicate <code>lgt_load_prolog_code/1</code> in the corresponding configuration file.
</p>
<h3>Compiling and loading your programs<a name="compiling"></a></h3>
<p>
Your programs will be made of source files containing your objects, protocols and categories. After changing the Prolog working directory to the one containing your files, you can compile them to disk by calling the Logtalk built-in predicate
<a title="Consult reference manual" href="../refman/builtins/logtalk_compile1.html"><code>logtalk_compile/1</code></a>:
</p>
<pre>
| ?- logtalk_compile([source_file1, source_file2, ...]).
</pre>
<p>
This predicate runs the preprocessor on each argument file and, if no fatal errors are found, outputs Prolog source files that can then be consulted or compiled in the usual way by your Prolog compiler. Note that the predicate argument must be a list of entity names, not file names (or paths).
</p>
<p>
To compile to disk and also load into memory the source files we can use the Logtalk built-in predicate <a title="Consult reference manual" href="../refman/builtins/logtalk_load1.html"><code>logtalk_load/1</code></a>:
</p>
<pre>
| ?- logtalk_load([source_file1, source_file2, ...]).
</pre>
<p>
This predicate works in the same way of the predicate <code>logtalk_compile/1</code> but also loads the compiled files to memory.
</p>
<p>
Both predicates expect an entity name or a list of entity names (atoms) as an argument. The Logtalk source file name extension, as defined in the configuration file, should be omitted.
</p>
<p>
If you have more than a few source files then you may want to use a loader utility file containing the calls to the <code>logtalk_load/1</code> predicate (see the description above). Consulting or compiling the loader file will then compile and load all your Logtalk entities into memory.
</p>
<h3>Compiler option flags<a name="options"></a></h3>
<p>
The <a title="Consult reference manual" href="../refman/builtins/logtalk_load1.html"><code>logtalk_load/1</code></a> and <a title="Consult reference manual" href="../refman/builtins/logtalk_compile1.html"><code>logtalk_compile/1</code></a> always use the set of default compiler option flags specified in the Logtalk configuration files. Although the default options cover the usual cases, you may want to use a different set of options while compiling or loading some of your Logtalk source files. This can be accomplished by using the <a title="Consult reference manual" href="../refman/builtins/logtalk_load2.html"><code>logtalk_load/2</code></a> or the <a title="Consult reference manual" href="../refman/builtins/logtalk_compile2.html"><code>logtalk_compile/2</code></a> built-in predicates. These two predicates accept a list of options affecting how a Logtalk source file is compiled and loaded:
</p>
<pre>
| ?- logtalk_compile(Files, Options).
</pre>
<p>
or:
</p>
<pre>
| ?- logtalk_load(Files, Options).
</pre>
<p>
In fact, the <code>logtalk_load/1</code> and <code>logtalk_compile/1</code> predicates are just shortcuts to the extended versions called with the default compiler options.
</p>
<p>
You can use the following options:
</p>
<dl>
<dt><code>unknown(Option)</code></dt>
<dd>Controls the unknown entity warnings, resulting from loading an entity that references some other entity that is not currently loaded. Possible option values are <code>warning</code> (the usual default) and <code>silent</code>.</dd>
</dl>
<dl>
<dt><code>singletons(Option)</code></dt>
<dd>Controls the singleton variable warnings. Possible option values are <code>warning</code> (the usual default) and <code>silent</code> (not recommended).</dd>
</dl>
<dl>
<dt><code>underscore_vars(Option)</code></dt>
<dd>Controls the interpretation of variables that start with an underscore (excluding the anonymous variable) that occur once in a term as either don't care variables or singleton variables. Possible option values are <code>dont_care</code> and <code>singletons</code> (the usual default). Note that, depending on your Prolog compiler, the <code>read_term/3</code> built-in predicate may report variables that start with an underscore as singleton variables. There is no standard behavior, hence this option.</dd>
</dl>
<dl>
<dt><code>misspelt(Option)</code></dt>
<dd>Controls the misspelt calls warnings. Possible option values are <code>warning</code> (the usual default) and <code>silent</code> (not recommended).</dd>
</dl>
<dl>
<dt><code>lgtredef(Option)</code></dt>
<dd>Controls the Logtalk built-in predicates redefinition warnings. Possible option values are <code>warning</code> (the usual default) and <code>silent</code>.</dd>
</dl>
<dl>
<dt><code>plredef(Option)</code></dt>
<dd>Controls the Prolog built-in predicates redefinition warnings. Possible option values are <code>warning</code> (can be very verbose if your code redefines a lot of Prolog built-in predicates) and <code>silent</code> (the usual default).</dd>
</dl>
<dl>
<dt><code>portability(Option)</code></dt>
<dd>Controls the calling of non-ISO defined built-in predicates warnings. Possible option values are <code>warning</code> and <code>silent</code> (the usual default).</dd>
</dl>
<dl>
<dt><code>xml(Option)</code></dt>
<dd>Controls the automatic generation of documenting files in XML format. Possible option values are <code>on</code> (the usual default) and <code>off</code>.</dd>
</dl>
<dl>
<dt><code>xmlspec(Option)</code></dt>
<dd>Defines the XML documenting files specification format. Possible option values are <code>dtd</code> (for the DTD specification; the usual default) and <code>xsd</code> (for the XML Schema specification).</dd>
</dl>
<dl>
<dt><code>doctype(Option)</code></dt>
<dd>Sets the DOCTYPE reference in the automatically generated XML documenting files. The default value is <code>local</code>, that is, the DOCTYPE reference points to a local DTD or XSD file (respectively, <code>logtalk.dtd</code> or <code>logtalk.xsd</code>), residing in the same directory as the XML file. Other possible values are <code>web</code> (DOCTYPE reference points to an web location, either <code>http://www.logtalk.org/xml/1.0/logtalk.dtd</code> or <code>http://www.logtalk.org/xml/1.0/logtalk.xsd</code>) and <code>standalone</code> (no DOCTYPE reference in the XML documenting files).</dd>
</dl>
<dl>
<dt><code>xsl(File)</code></dt>
<dd>Sets the XSLT file to be used with the automatically generated XML documenting files. The default value is <code>lgtxml.xsl</code>.</dd>
</dl>
<dl>
<dt><code>report(Option)</code></dt>
<dd>Controls reporting of each compiled or loaded object, category, or protocol (including compilation and loading warnings). Possible option values are <code>on</code> (the usual default) and <code>off</code> (silent compilation and loading).</dd>
</dl>
<dl>
<dt><code>iso_initialization_dir(Option)</code></dt>
<dd>Controls the use of the <code>initialization/1</code> directive in the Logtalk generated Prolog code. Possible option values are <code>true</code> (if the Prolog compiler supports the ISO definition of the directive) and <code>false</code> (if the Prolog compiler either does not implement the directive or if the implementation does not conform to the ISO standard).</dd>
</dl>
<dl>
<dt><code>smart_compilation(Option)</code></dt>
<dd>Controls the use of smart compilation of source files to avoid recompiling files that are unchanged since the last time they are compiled. Possible option values are <code>on</code> and <code>off</code> (the usual default).</dd>
</dl>
<dl>
<dt><code>code_prefix(Option)</code></dt>
<dd>Enables the definition of prefix for all functors of Logtalk generated Prolog code. Option value must be an atom. Default value is ''.</dd>
</dl>
<p>
We may also change the default options values from the ones loaded from the config file by using the <a title="Consult reference manual" href="../refman/builtins/set_logtalk_flag2.html"><code>set_logtalk_flag/2</code></a> built-in predicate. For example:
</p>
<pre>
| ?- set_logtalk_flag(xml, off).
</pre>
<p>
The current values of the default flags can be enumerated using the <a title="Consult reference manual" href="../refman/builtins/current_logtalk_flag2.html"><code>current_logtalk_flag/2</code></a> built-in predicate:
</p>
<pre>
| ?- current_logtalk_flag(xml, Value).
Value = off
yes
</pre>
<h3>Smart compilation of source files<a name="smart"></a></h3>
<p>
If the Prolog compiler that you are using supports retrieving of file modification dates, then you can turn on smart compilation of source files to avoid recompiling files that have not been modified since last compilation.
</p>
<p>
Smart compilation of source files is usually off by default. You can turn it on by changing the default flag value in the configuration file, by using the corresponding compiler option with the compiling and loading built-in predicates, or, for the remaining of a working session, by using the call:
</p>
<pre>
| ?- set_logtalk_flag(smart_compilation, on).
</pre>
<p>
Some caveats that you should be aware. First, some warnings that might be produced when compiling a source file will not show up if the corresponding object file is up-to-date because the source file is not being (re)compiled. Second, if you are using several Prolog compilers with Logtalk, be sure to perform the first compilation of your source files with smart compilation turned off: the intermediate Prolog files generated by the Logtalk preprocessor may be not compatible across Prolog compilers or even for the same Prolog compiler across operating systems (due to different end-of-line characters).
</p>
<h2>Using Logtalk for batch processing<a name="batch"></a></h2>
<p>
If you use Logtalk for batch processing, you probably want to supress most, if not all, banners, messages, and warnings that are normally printed by the system.
</p>
<p>
To supress printing of the Logtalk startup banner and default flags, set the option <code>startup_message</code> in the config file that you are using to <code>none</code>.
</p>
<p>
To supress printing of compiling and loading messages (including compiling warnings but not error messages), turn off the option <code>report</code> in the used config file.
</p>
<div class="navbottom">
<a href="configuration.html">previous</a> | <a href="../glossary.html">glossary</a> | <a href="programming.html">next</a>
<a href="documenting.html">previous</a> | <a href="../glossary.html">glossary</a> | <a href="running.html">next</a>
</div>
<div class="copyright">
@ -342,7 +200,7 @@ Copyright &copy; <a href="mailto:pmoura@logtalk.org">Paulo Moura</a> &mdash; <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: March 29, 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: April 24, 2004</span></p>
</div>
</body>
</html>

View File

@ -96,7 +96,7 @@ Logtalk error handling strongly depends on the ISO compliance of the chosen Prol
</p>
<div class="navbottom">
<a href="installing.html">previous</a> | <a href="../glossary.html">glossary</a> | <a href="index.html">next</a>
<a href="running.html">previous</a> | <a href="../glossary.html">glossary</a> | <a href="index.html">next</a>
</div>
<div class="copyright">

55
Logtalk/misc/NOTES Normal file
View File

@ -0,0 +1,55 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.17.0
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
=================================================================
This directory contains miscellaneous files used in Logtalk packaging,
installation, and integration with Prolog compilers:
lgt_install.sh
shell script for installing Logtalk in Unix and Unix-like operating
systems (must be runned from this directory by a user with administration
privileges); accepts as an optional argument a prefix for the installation
directory (default is /usr/local)
logtalk.spec
specification file for building Linux RPMs
(copy the Logtalk tarball to your RPM SOURCES directory and then
run the command: rpmbuild -ba --target=noarch-*-linux logtalk.spec)
cplgtdirs.sh
shell script for copying xml, examples and library directories to
the user home directory (must be runned by the end-user to ensure
proper permissions on the copied files)
The following shell scripts must be runned by a user with administration
privileges:
make_eclipselgt.sh
makes a script named eclipselgt for running Logtalk with ECLiPSe
make_gplgt.sh
makes a script named gplgt for running Logtalk with GNU Prolog
make_qplgt.sh
makes a script named qplgt for running Logtalk with Qu-Prolog
(based on script code contributed by Peter Robinson)
make_sicstuslgt.sh
makes a script named sicstuslgt for running Logtalk with SICStus Prolog
make_swilgt.sh
makes a script named swilgt for running Logtalk with SWI-Prolog
make_yaplgt.sh
makes a script named yaplgt for running Logtalk with YAP
These scripts require the environment variable LOGTALKHOME (containing the
Logtalk installation directory) to be defined. In addition, they accept as
an optional argument a prefix for the location of a link to the scripts
(default is /usr/local, creating the links in /usr/local/bin). Please note
that the environment variable LOGTALKHOME must be defined in order to run
the *lgt scripts that are created by the shell scripts above.
Note: when Logtalk is manually installed from sources, the shell scripts might
not have the executable permission bit set. In that case it will be necessary
to first run the command "chmod a+x *.sh".

20
Logtalk/misc/cplgtdirs.sh Executable file
View File

@ -0,0 +1,20 @@
#!/bin/sh
echo
echo "This script copies the Logtalk library, xml, and examples"
echo "directories to the user home directory (~/logtalk)."
echo
if ! [ $LOGTALKHOME ]
then
echo "The env variable LOGTALKHOME must be defined first!"
else
mkdir -p $HOME/logtalk/examples
mkdir -p $HOME/logtalk/library
mkdir -p $HOME/logtalk/xml
cp -RL $LOGTALKHOME/examples $HOME/logtalk/
cp -RL $LOGTALKHOME/library $HOME/logtalk/
cp -RL $LOGTALKHOME/xml $HOME/logtalk/
echo "Finished copying Logtalk directories."
echo
fi

35
Logtalk/misc/lgt_install.sh Executable file
View File

@ -0,0 +1,35 @@
#!/bin/sh
echo
echo "Installing Logtalk..."
if [ -z "$1" ]; then
prefix=/usr/local
else
prefix="$1"
fi
rm -rf $prefix/lgt2170
rm -f $prefix/logtalk
mkdir $prefix/lgt2170
cd ..
cp -R * $prefix/lgt2170
cd $prefix
chmod -R go-w,a+r lgt2170
chmod a+x lgt2170
chmod a+x lgt2170/misc/*.sh
chmod a+x lgt2170/xml/*.sh
ln -sf lgt2170 logtalk
cd bin
ln -sf ../lgt2170/misc/cplgtdirs.sh cplgtdirs.sh
echo "Installation completed."
echo "Users should define the environment variable LOGTALKHOME pointing"
echo "to $prefix/logtalk and then run the shell script cplgtdirs.sh in"
echo "order to make a local copy of the Logtalk examples, library, and"
echo "xml directories in ~/logtalk."
echo

51
Logtalk/misc/logtalk.spec Normal file
View File

@ -0,0 +1,51 @@
Name: logtalk
Summary: Logtalk - Open source object-oriented extension to Prolog
Version: 2.17.0
Release: 1
License: Artistic License 2.0
Group: Development/Languages
Packager: Paulo Moura <pmoura@logtalk.org>
Source: http://www.logtalk.org/files/lgt2170.tar.gz
BuildArchitectures: noarch
URL: http://www.logtalk.org/
Prefix: /usr/local
AutoReqProv: no
%description
Logtalk is an open source object-oriented extension to the Prolog programming language. Integrating logic programming with object-oriented and event-driven programming, it is compatible with most Prolog compilers. It supports both prototypes and classes. In addition, it supports component-based programming through category-based composition.
%prep
%setup -n lgt2170
%build
%install
rm -rf /usr/local/lgt2170
rm -f /usr/local/logtalk
mkdir /usr/local/lgt2170
cp -R * /usr/local/lgt2170
cd /usr/local
chmod -R go-w,a+r lgt2170
chmod a+x lgt2170
chmod a+x lgt2170/misc/*.sh
chmod a+x lgt2170/xml/*.sh
ln -sf lgt2170 logtalk
cd bin
ln -sf ../lgt2170/misc/cplgtdirs.sh cplgtdirs.sh
%clean
%files
%defattr(-,root,users)
%doc /usr/local/lgt2170/BIBLIOGRAPHY
%doc /usr/local/lgt2170/INSTALL
%doc /usr/local/lgt2170/LICENSE
%doc /usr/local/lgt2170/QUICK_START
%doc /usr/local/lgt2170/README
%doc /usr/local/lgt2170/RELEASE_NOTES
%doc /usr/local/lgt2170/UPGRADING
/usr/local/lgt2170/compiler
/usr/local/lgt2170/configs
/usr/local/lgt2170/examples
/usr/local/lgt2170/library
%docdir /usr/local/lgt2170/manuals
/usr/local/lgt2170/manuals
/usr/local/lgt2170/misc
/usr/local/lgt2170/wenv
/usr/local/lgt2170/xml
/usr/local/logtalk
/usr/local/bin/cplgtdirs.sh

35
Logtalk/misc/make_eclipselgt.sh Executable file
View File

@ -0,0 +1,35 @@
#! /bin/sh
echo
echo "Making a script named eclipselgt for running Logtalk with ECLiPSe..."
if ! [ $LOGTALKHOME ]
then
echo "The environment variable LOGTALKHOME must be defined first!"
else
cd $LOGTALKHOME
if [ -z "$1" ]; then
prefix=/usr/local
else
prefix="$1"
fi
if ! [ -d bin ]
then
mkdir bin
fi
cd bin
echo ":- pragma(system)." > logtalkeclipse.pl
echo ":- pragma(nodebug)." >> logtalkeclipse.pl
echo ":- ensure_loaded(library(toplevel))." >> logtalkeclipse.pl
echo ":- include('\$LOGTALKHOME/compiler/logtalk.pl')." >> logtalkeclipse.pl
echo ":- compile('\$LOGTALKHOME/configs/eclipseiso.config')." > logtalkeclipse.rc
echo ":- compile('\$LOGTALKHOME/bin/logtalkeclipse.pl')." >> logtalkeclipse.rc
echo "#/bin/sh" > eclipselgt
echo "eclipse -b \$LOGTALKHOME/bin/logtalkeclipse.rc" >> eclipselgt
chmod a+x eclipselgt
ln -sf $LOGTALKHOME/bin/eclipselgt $prefix/bin/eclipselgt
echo "Done. A link to the script was been created in $prefix/bin."
echo "Users should define the environment variable LOGTALKHOME in"
echo "order to use the script."
echo
fi

33
Logtalk/misc/make_gplgt.sh Executable file
View File

@ -0,0 +1,33 @@
#! /bin/sh
echo
echo "Making a script named gplgt for running Logtalk with GNU Prolog..."
if ! [ $LOGTALKHOME ]
then
echo "The environment variable LOGTALKHOME must be defined first!"
else
cd $LOGTALKHOME
if [ -z "$1" ]; then
prefix=/usr/local
else
prefix="$1"
fi
if ! [ -d bin ]
then
mkdir bin
fi
cd bin
cp ../configs/gnu.config gnu.pl
echo ":- built_in." > logtalkgp.pl
cat ../compiler/logtalk.pl >> logtalkgp.pl
gplc -o gplgt gnu.pl logtalkgp.pl
chmod a+x gplgt
ln -sf $LOGTALKHOME/bin/gplgt $prefix/bin/gplgt
rm gnu.pl
rm logtalkgp.pl
echo "Done. A link to the script was been created in $prefix/bin."
echo "Users should define the environment variable LOGTALKHOME in"
echo "order to use the script."
echo
fi

38
Logtalk/misc/make_qplgt.sh Executable file
View File

@ -0,0 +1,38 @@
#! /bin/sh
echo
echo "Making a script named qplgt for running Logtalk with Qu-Prolog..."
if ! [ $LOGTALKHOME ]
then
echo "The environment variable LOGTALKHOME must be defined first!"
else
cd $LOGTALKHOME
if [ -z "$1" ]; then
prefix=/usr/local
else
prefix="$1"
fi
if ! [ -d bin ]
then
mkdir bin
fi
find . -name "*.lgt" -exec perl -pi -e "s/version is (\d)\.(\d)/version is '\1\.\2'/" {} \;
cd configs
cp qu.config qu.ql
echo "fcompile('qu.ql', [assemble_only(true)]), load(qu). \
chdir('../compiler/'), fcompile('logtalk.pl', [assemble_only(true), string_table(256)]), load(logtalk)." | qp -s 2048 -d 1024 -h 2000
qc -c qphook.ql
cd ../bin
qc -s 2048 -d 1024 -h 2000 -o qplgt ../configs/qphook.qo ../configs/qu.qo ../compiler/logtalk.qo
chmod a+x qplgt
ln -sf $LOGTALKHOME/bin/qplgt $prefix/bin/qplgt
rm ../configs/qu.ql
rm ../configs/qphook.qo
rm ../configs/qu.qo
rm ../compiler/logtalk.qo
echo "Done. A link to the script was been created in $prefix/bin."
echo "Users should define the environment variable LOGTALKHOME in"
echo "order to use the script."
echo
fi

32
Logtalk/misc/make_sicstuslgt.sh Executable file
View File

@ -0,0 +1,32 @@
#! /bin/sh
echo
echo "Making a script named sicstuslgt for running Logtalk with SICStus Prolog..."
if ! [ $LOGTALKHOME ]
then
echo "The environment variable LOGTALKHOME must be defined first!"
else
cd $LOGTALKHOME
if [ -z "$1" ]; then
prefix=/usr/local
else
prefix="$1"
fi
if ! [ -d bin ]
then
mkdir bin
fi
cd bin
echo ":- compile('\$LOGTALKHOME/configs/sicstus.config')." > logtalksicstus.rc
echo ":- compile('\$LOGTALKHOME/compiler/logtalk.pl')." >> logtalksicstus.rc
echo "#/bin/sh" > sicstuslgt
echo "sicstus -l \$LOGTALKHOME/bin/logtalksicstus.rc" >> sicstuslgt
chmod a+x sicstuslgt
ln -sf $LOGTALKHOME/bin/sicstuslgt $prefix/bin/sicstuslgt
echo "Done. A link to the script was been created in $prefix/bin."
echo "Users should define the environment variable LOGTALKHOME in"
echo "order to use the script."
echo
fi

34
Logtalk/misc/make_swilgt.sh Executable file
View File

@ -0,0 +1,34 @@
#! /bin/sh
echo
echo "Making a script named swilgt for running Logtalk with SWI-Prolog..."
if ! [ $LOGTALKHOME ]
then
echo "The environment variable LOGTALKHOME must be defined first!"
else
cd $LOGTALKHOME
if [ -z "$1" ]; then
prefix=/usr/local
else
prefix="$1"
fi
if ! [ -d bin ]
then
mkdir bin
fi
cd bin
echo ":- system_module." > logtalkswi.pl
cat ../compiler/logtalk.pl >> logtalkswi.pl
echo ":- consult('\$LOGTALKHOME/configs/swi.config')." > logtalkswi.rc
echo ":- consult('\$LOGTALKHOME/configs/swihook.pl')." >> logtalkswi.rc
echo ":- consult('\$LOGTALKHOME/bin/logtalkswi.pl')." >> logtalkswi.rc
echo "#/bin/sh" > swilgt
echo "swipl -f \$LOGTALKHOME/bin/logtalkswi.rc" >> swilgt
chmod a+x swilgt
ln -sf $LOGTALKHOME/bin/swilgt $prefix/bin/swilgt
echo "Done. A link to the script was been created in $prefix/bin."
echo "Users should define the environment variable LOGTALKHOME in"
echo "order to use the script."
echo
fi

32
Logtalk/misc/make_yaplgt.sh Executable file
View File

@ -0,0 +1,32 @@
#! /bin/sh
echo
echo "Making a script named yaplgt for running Logtalk with YAP..."
if ! [ $LOGTALKHOME ]
then
echo "The environment variable LOGTALKHOME must be defined first!"
else
cd $LOGTALKHOME
if [ -z "$1" ]; then
prefix=/usr/local
else
prefix="$1"
fi
if ! [ -d bin ]
then
mkdir bin
fi
cd bin
echo ":- reconsult('\$LOGTALKHOME/configs/yap.config')." > logtalkyap.rc
echo ":- reconsult('\$LOGTALKHOME/compiler/logtalk.pl')." >> logtalkyap.rc
echo "#/bin/sh" > yaplgt
echo "yap -l \$LOGTALKHOME/bin/logtalkyap.rc" >> yaplgt
chmod a+x yaplgt
ln -sf $LOGTALKHOME/bin/yaplgt $prefix/bin/yaplgt
echo "Done. A link to the script was been created in $prefix/bin."
echo "Users should define the environment variable LOGTALKHOME in"
echo "order to use the script."
echo
fi

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.16.2
Release 2.17.0
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
=================================================================

Some files were not shown because too many files have changed in this diff Show More