Logtalk 2.18.0 release files.

git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1090 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
This commit is contained in:
pmoura 2004-07-08 23:48:59 +00:00
parent bb96fe5aea
commit fda1482045
130 changed files with 1354 additions and 1432 deletions

View File

@ -18,10 +18,11 @@
@techreport{pmoura00,
author = "Paulo Moura",
title = "Logtalk 2.6 {D}ocumentation",
title = "{Logtalk 2.6 Documentation}",
institution = "University of Beira Interior, Portugal",
number = "DMI 2000/1",
year = 2000
year = 2000,
howpublished = "\url{http://www.logtalk.org/files/trdmi20001a4.pdf.gz}"
}

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.17.2
Release 2.18.0
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
=================================================================
@ -34,9 +34,9 @@ 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).
users. The second, and probably best, alternative is to copy the Logtalk xml,
examples, and library directories to each user home directory (the "misc"
sub-directory contains a shell script for automating these copies).
ENVIRONMENT VARIABLES
@ -46,11 +46,11 @@ 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/lgt2172"
setenv LOGTALKHOME "/your/installation/directory/lgt2180"
If you use a bash shell, add the following lines to your ~/.profile file:
LOGTALKHOME="/your/installation/directory/lgt2172"
LOGTALKHOME="/your/installation/directory/lgt2180"
export LOGTALKHOME
When using the provided shell script for installing Logtalk, a symbolic link
@ -64,7 +64,7 @@ CREATING NEW PROLOG TOP-LEVELS FOR AUTOMATIC LOADING OF LOGTALK
Most Prolog compilers allows the user to define an initialization file that
is automatically consulted at startup. This initialization file may contain
directives for loading other files, such as the Logtalk configuration file
and the Logtalk compiler. The the "misc" sub-directory contains several shell
scripts for automating the creation of this initialization files for some
and the Logtalk compiler. The "misc" sub-directory contains several shell
scripts for automating the creation of these initialization files for some
popular Prolog compilers. In addition, be sure to read the configs/NOTES file
notes on the Prolog compilers that you intend to use.

View File

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

View File

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

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.17.2
Release 2.18.0
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
=================================================================
@ -10,6 +10,26 @@ RELEASE NOTES
=============
2.18.0 - July 9, 2004
Added caching of method lookups in order to improve message processing
performance (including messages to self and super calls). Applied several
optimizations to runtime translation of messages in order to further
improve performance.
Improved error checking while parsing and compiling messages to self.
Update ECLiPSe config files to compile the Prolog files generated by Logtalk
(when compiling source files) in optimized mode instead of traceable mode.
Updated description of patches needed for running Logtalk with XSB, added
a shell script for easy integration of Logtalk with this Prolog compiler,
and corrected a problem with its corresponding config file.
Added multifile/1 directive to the syntax coloring configuration files of the
supported text editors.
2.17.2 - June 14, 2004
Updated the Logtalk compiler to allow compilation of source files which

View File

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

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.17.2
Release 2.18.0
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
=================================================================
@ -10,7 +10,7 @@ This folder contains several examples of Logtalk programs. A brief
description of each example is included below.
Each example contains a NOTES file and a loader utility file that may
be used to load all the example entities. In addtion, most examples
be used to load all the example entities. In addition, most examples
contain a SCRIPT file with sample queries for your to try.
Most of these examples need objects, protocols, and categories that
@ -68,7 +68,7 @@ lo
examples adopted from the Francis G. McCabe L&O system
logic
example of a translator of logic propostions to clauses in conjunctive
example of a translator of logic propositions to clauses in conjunctive
normal form
lpa

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -3,9 +3,9 @@
:- info([
version is 1.0,
version is 1.1,
author is 'Paulo Moura',
date is 1998/3/23,
date is 2004/6/30,
comment is 'Call executing time profiler.']).
@ -44,7 +44,11 @@
time::cpu_time(Start),
loop::forto(1, Times, Call),
time::cpu_time(End),
Time is (End - Start) / Times.
time::cpu_time(Start2),
loop::forto(1, 0, true),
time::cpu_time(End2),
Overhead is End2 - Start2,
Time is (End - Start - Overhead) / Times.
:- end_object.

View File

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

View File

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

View File

@ -29,7 +29,7 @@ http://www.csci.csusb.edu/dick/cs320/prolog/Potions.htm
contents(H1),
list::select(P1, H1, H2),
list::select(P7, H2, H3),
P1 \= P7, P1 \= forward, P7 \= forward, % second clue
P1 \= P7, P1 \= forward, P7 \= forward, % second clue
list::select(P2, H3, H4),
P2 \= poison,
list::select(P3, H4, H5),

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -1,10 +1,10 @@
:- initialization(
logtalk_load([
datep, date, % dates
datep, date, % dates
timep, time,
event_handlersp, % events
event_handlersp, % events
event_registryp, event_registry,
before_event_registry, after_event_registry,
monitorp, monitor,
@ -12,22 +12,22 @@
event_dbgp, % debugging
event_dbg,
subject, % dependents
subject, % dependents
observer,
hierarchyp, % hierarchies
proto_hierarchyp, proto_hierarchy,
class_hierarchyp, class_hierarchy,
metap, meta, % metapredicates
metap, meta, % metapredicates
loopp, loop,
randomp, % random
randomp, % random
random,
systemp, % os interface protocol
systemp, % os interface protocol
termp, term, % types
termp, term, % types
atomic,
atom, callable,
characterp, character,

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -43,7 +43,7 @@
Upper >= Lower,
!,
random(Float),
Random is truncate((Float*(Upper-Lower)+Lower)).
Random is truncate((Float * (Upper-Lower)+Lower)).
random(Lower, Upper, Random) :-
@ -51,7 +51,7 @@
float(Upper),
Upper >= Lower,
random(Float),
Random is Float*(Upper-Lower)+Lower.
Random is Float * (Upper-Lower)+Lower.
randseq(Length, Lower, Upper, Sequence) :-
@ -83,7 +83,7 @@
randseq(N, Lower, Upper, (A0, A1, A2), (C0, C1, C2), Acc, List) :-
N2 is N - 1,
random(A0, A1, A2, B0, B1, B2, R),
Random is R*(Upper-Lower)+Lower,
Random is R * (Upper-Lower)+Lower,
randseq(N2, Lower, Upper, (B0, B1, B2), (C0, C1, C2), [Random| Acc], List).
@ -123,7 +123,7 @@
randset(N, Lower, Upper, (A0, A1, A2), (C0, C1, C2), Acc, List) :-
N2 is N - 1,
random(A0, A1, A2, B0, B1, B2, Float),
Float2 is Float*(Upper-Lower)+Lower,
Float2 is Float * (Upper-Lower)+Lower,
(integer(Lower) ->
Random is truncate(Float2)
;

View File

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

View File

@ -2,43 +2,45 @@
:- protocol(systemp).
:- info([
version is 1.3,
author is 'Paulo Moura',
date is 2004/6/4,
comment is 'Operating system access protocol.']).
version is 1.7,
author is 'Portable Operating-System Interface (POSI) initiative',
date is 2004/6/24,
comment is 'Portable operating system access protocol.']).
:- public(make_directory/1).
:- mode(make_directory(+atom), zero_or_one).
:- mode(make_directory(+atom), one).
:- info(make_directory/1, [
comment is 'Makes a new directory.',
argnames is ['Directory'],
exceptions is [
'Argument is not instantiated' - instantiation_error,
'Directory is not instantiated' - instantiation_error,
'Directory is neither a variable nor a valid file name' - type_error(file_name, 'Directory'),
'No permission for creating a new directory' - permission_error(modify, 'Directory')]]).
'No permission for creating a new directory' - permission_error(write, 'Directory')]]).
:- public(delete_directory/1).
:- mode(delete_directory(+atom), zero_or_one).
:- mode(delete_directory(+atom), one).
:- info(delete_directory/1, [
comment is 'Deletes a directory.',
argnames is ['Directory'],
exceptions is [
'Argument is not instantiated' - instantiation_error,
'Directory is not instantiated' - instantiation_error,
'Directory is neither a variable nor a valid file name' - type_error(file_name, 'Directory'),
'No permission for deleting the directory' - permission_error(modify, 'Directory')]]).
'No permission for deleting the directory' - permission_error(write, 'Directory'),
'Directory does not exists' - existence_error(directory, 'Directory')]]).
:- public(change_directory/1).
:- mode(change_directory(+atom), zero_or_one).
:- mode(change_directory(+atom), one).
:- info(change_directory/1, [
comment is 'Changes current working directory.',
argnames is ['Directory'],
exceptions is [
'Argument is not instantiated' - instantiation_error,
'Directory is not instantiated' - instantiation_error,
'Directory is neither a variable nor a valid file name' - type_error(file_name, 'Directory'),
'No permission for accessing the directory' - permission_error(access, 'Directory')]]).
'No permission for accessing the directory' - permission_error(read, 'Directory'),
'Directory does not exists' - existence_error(directory, 'Directory')]]).
:- public(working_directory/1).
:- mode(working_directory(?atom), zero_or_one).
:- mode(working_directory(?atom), one).
:- info(working_directory/1, [
comment is 'Current working directory.',
argnames is ['Directory'],
@ -51,98 +53,47 @@
comment is 'True if the specified directory exists.',
argnames is ['Directory'],
exceptions is [
'Argument is not instantiated' - instantiation_error,
'Directory is not instantiated' - instantiation_error,
'Directory is neither a variable nor a valid file name' - type_error(file_name, 'Directory'),
'No access permission for the directory' - permission_error(access, 'Directory')]]).
'No access permission for the directory' - permission_error(read, 'Directory')]]).
:- public(directory_files/2).
:- mode(directory_files(+atom, -list), zero_or_one).
:- mode(directory_files(+atom, -list), one).
:- info(directory_files/2, [
comment is 'List of all directory files. Returns an empty list if the directory is empty.',
argnames is ['Directory', 'Files'],
exceptions is [
'Directory is not instantiated' - instantiation_error,
'Directory is neither a variable nor a valid file name' - type_error(file_name, 'Directory'),
'No access permission for the directory' - permission_error(access, 'Directory'),
'Directory does not exists' - existence_error('Directory')]]).
:- public(file_exists/1).
:- mode(file_exists(+atom), zero_or_one).
:- info(file_exists/1, [
comment is 'True if the specified file exists.',
argnames is ['File'],
exceptions is [
'File is not instantiated' - instantiation_error,
'File is neither a variable nor a valid file name' - type_error(file_name, 'File'),
'No access permission to the file' - permission_error(access, 'File')]]).
:- public(file_modification_time/2).
:- mode(file_modification_time(+atom, -nonvar), zero_or_one).
:- info(file_modification_time/2, [
comment is 'File modification time using a system-dependent time stamp.',
argnames is ['File', 'Time'],
exceptions is [
'File is not instantiated' - instantiation_error,
'File is neither a variable nor a valid file name' - type_error(file_name, 'File'),
'No access permission to the file' - permission_error(access, 'File')]]).
:- public(file_size/2).
:- mode(file_size(+atom, -integer), zero_or_one).
:- info(file_size/2, [
comment is 'File size in bytes.',
argnames is ['File', 'Size'],
exceptions is [
'File is not instantiated' - instantiation_error,
'File is neither a variable nor a valid file name' - type_error(file_name, 'File'),
'No access permission to the file' - permission_error(access, 'File')]]).
:- public(file_type/2).
:- mode(file_type(+atom, ?atom), zero_or_one).
:- info(file_type/2, [
comment is 'File type (regular, directory, symlink, fifo, socket, and unknown).',
argnames is ['File', 'Type'],
exceptions is [
'File is not instantiated' - instantiation_error,
'File is neither a variable nor a valid file name' - type_error(file_name, 'File'),
'Type is neither a variable nor a valid file type' - type_error(file_type, 'File'),
'No access permission to the file' - permission_error(access, 'File')]]).
:- public(file_permission/2).
:- mode(file_permission(+atom, ?atom), zero_or_more).
:- info(file_permission/2, [
comment is 'File permission (read, write, execute, and search).',
argnames is ['File', 'Permission'],
exceptions is [
'File is not instantiated' - instantiation_error,
'File is neither a variable nor a valid file name' - type_error(file_name, 'File'),
'Permission is neither a variable nor a valid file permission' - type_error(file_permission, 'File'),
'No access permission to the file' - permission_error(access, 'File')]]).
'No read permission for the directory' - permission_error(read, 'Directory'),
'Directory does not exists' - existence_error(directory, 'Directory')]]).
:- public(delete_file/1).
:- mode(delete_file(+atom), zero_or_one).
:- mode(delete_file(+atom), one).
:- info(delete_file/1, [
comment is 'Deletes a file.',
argnames is ['File'],
exceptions is [
'File is not instantiated' - instantiation_error,
'File is neither a variable nor a valid file name' - type_error(file_name, 'File'),
'No write permission to the file' - permission_error(modify, 'File')]]).
'File does not exists' - existence_error(file, 'File'),
'No write permission to the file' - permission_error(write, 'File')]]).
:- public(rename_file/2).
:- mode(rename_file(+atom, +atom), zero_or_one).
:- info(rename_file/2, [
comment is 'Renames a file.',
comment is 'Renames a file (or directory).',
argnames is ['Old', 'New'],
exceptions is [
'Old is not instantiated' - instantiation_error,
'New is not instantiated' - instantiation_error,
'Old is neither a variable nor a valid file name' - type_error(file_name, 'Old'),
'New is neither a variable nor a valid file name' - type_error(file_name, 'New'),
'File Old does not exists' - existence_error('Old'),
'No write permission to the file' - permission_error(modify, 'Old')]]).
'File Old does not exists' - existence_error(file, 'Old'),
'No write permission to the file' - permission_error(write, 'Old')]]).
:- public(copy_file/2).
:- mode(copy_file(+atom, +atom), zero_or_one).
:- mode(copy_file(+atom, +atom), one).
:- info(copy_file/2, [
comment is 'Makes a copy of a file.',
argnames is ['Original', 'Copy'],
@ -151,31 +102,65 @@
'Copy is not instantiated' - instantiation_error,
'Original is neither a variable nor a valid file name' - type_error(file_name, 'Original'),
'Copy is neither a variable nor a valid file name' - type_error(file_name, 'Copy'),
'File Original does not exists' - existence_error('Original'),
'No read permission to the file' - permission_error(read, 'Original')]]).
'File Original does not exists' - existence_error(file, 'Original'),
'No read permission to the original file' - permission_error(read, 'Original'),
'No write permission to the file copy' - permission_error(write, 'Copy')]]).
:- public(symbolic_link/2).
:- mode(symbolic_link(+atom, -atom), zero_or_one).
:- mode(symbolic_link(+atom, -atom), one).
:- info(symbolic_link/2, [
comment is 'Follows a symbolic link returning the target full path.',
argnames is ['File', 'Target'],
argnames is ['Symlink', 'Target'],
exceptions is [
'Symlink is not instantiated' - instantiation_error,
'Symlink is neither a variable nor a valid file name' - type_error(file_name, 'Symlink'),
'Symlink is a valid file name but not a symbolic link' - type_error(symlink, 'Symlink'),
'No access permission to the symbolic link' - permission_error(access, 'Symlink')]]).
:- public(file_property/2).
:- mode(file_property(+atom, +nonvar), zero_or_one).
:- mode(file_property(+atom, -nonvar), one_or_more).
:- info(file_property/2, [
comment is 'File properties.',
argnames is ['File', 'Property'],
exceptions is [
'File is not instantiated' - instantiation_error,
'File is neither a variable nor a valid file name' - type_error(file_name, 'File'),
'No access permission to the file' - permission_error(access, 'File')]]).
'File does not exists' - existence_error(file, 'File'),
'No access permission to the file' - permission_error(access, 'File'),
'Property is neither a variable nor a file name part' - type_error(file_property, 'Property')]]).
:- public(environment_variable/2).
:- mode(environment_variable(+atom, ?atom), zero_or_one).
:- info(environment_variable/2, [
:- public(current_environment_variable/1).
:- mode(current_environment_variable(?atom), zero_or_more).
:- info(current_environment_variable/1, [
comment is 'Argument is a corrently defined environment variable . Fails if the variable does not exists.',
argnames is ['Variable'],
exceptions is [
'Variable is neither a variable nor an atom' - type_error(atom, 'Variable')]]).
:- public(delete_environment_variable/1).
:- mode(delete_environment_variable(+atom), one).
:- info(delete_environment_variable/1, [
comment is 'Deletes an environment variable.',
argnames is ['Variable'],
exceptions is [
'Variable is not instantiated' - instantiation_error,
'Variable is neither a variable nor an atom' - type_error(atom, 'Variable'),
'Variable is not a currenttly defined environment variable' - existence_error(environment_variable, 'Variable')]]).
:- public(get_environment_variable/2).
:- mode(get_environment_variable(+atom, ?atom), zero_or_one).
:- info(get_environment_variable/2, [
comment is 'Gets environment variable value.',
argnames is ['Variable', 'Value'],
exceptions is [
'Variable is not instantiated' - instantiation_error,
'Variable is neither a variable nor an atom' - type_error(atom, 'Variable'),
'Value is neither a variable nor an atom' - type_error(atom, 'Value')]]).
'Value is neither a variable nor an atom' - type_error(atom, 'Value'),
'Variable is not a currenttly defined environment variable' - existence_error(environment_variable, 'Variable')]]).
:- public(set_environment_variable/2).
:- mode(set_environment_variable(+atom, +atom), zero_or_one).
:- mode(set_environment_variable(+atom, +atom), one).
:- info(set_environment_variable/2, [
comment is 'Sets environment variable value.',
argnames is ['Variable', 'Value'],
@ -191,23 +176,29 @@
comment is 'Returns the current system-dependent time stamp.',
argnames is ['Time']]).
:- public(date_time/7).
:- mode(date_time(?integer, ?integer, ?integer, ?integer, ?integer, ?integer, ?integer), zero_or_one).
:- info(date_time/7, [
comment is 'Current calendar date and time.',
argnames is ['Year', 'Month', 'Day', 'Hours', 'Mins', 'Secs', 'Milisecs']]).
:- public(local_time/1).
:- mode(local_time(?time(?integer, ?integer, ?integer, ?integer, ?integer, ?integer, ?integer)), zero_or_one).
:- info(local_time/1, [
comment is 'Local time (respecting time zone and daylight savings settings).',
argnames is [time('Year', 'Month', 'Day', 'Hours', 'Mins', 'Secs', 'Microsecs')]]).
:- public(convert_time/8).
:- mode(convert_time(+number, ?integer, ?integer, ?integer, ?integer, ?integer, ?integer), zero_or_one).
:- info(convert_time/8, [
:- public(utc_time/1).
:- mode(utc_time(?time(?integer, ?integer, ?integer, ?integer, ?integer, ?integer, ?integer)), zero_or_one).
:- info(utc_time/1, [
comment is 'Universal Coordinated Time (UTC) time.',
argnames is [time('Year', 'Month', 'Day', 'Hours', 'Mins', 'Secs', 'Microsecs')]]).
:- public(convert_time/2).
:- mode(convert_time(+number, ?time(?integer, ?integer, ?integer, ?integer, ?integer, ?integer, ?integer)), zero_or_one).
:- info(convert_time/2, [
comment is 'Converts a system-dependent time stamp to calendar local date and time.',
argnames is ['Time', 'Year', 'Month', 'Day', 'Hours', 'Mins', 'Secs', 'Milisecs'],
argnames is ['Time', time('Year', 'Month', 'Day', 'Hours', 'Mins', 'Secs', 'Microsecs')],
exceptions is [
'Time is not instantiated' - instantiation_error,
'Time is neither a variable nor a valid time stamp' - type_error(time_stamp, 'Variable')]]).
:- public(cpu_time/1).
:- mode(cpu_time(-number), zero_or_one).
:- mode(cpu_time(-number), one).
:- info(cpu_time/1, [
comment is 'System cpu time in seconds.',
argnames is ['Time']]).
@ -215,7 +206,7 @@
:- public(host_name/1).
:- mode(host_name(-atom), one).
:- info(host_name/1, [
comment is 'Host name.',
comment is 'Host name (default is localhost).',
argnames is ['Name']]).
:- public(canonical_os_path/2).
@ -230,13 +221,13 @@
:- mode(canonical_path(-atom, +atom, -atom), zero_or_one).
:- mode(canonical_path(-atom, -atom, +atom), zero_or_one).
:- info(canonical_path/3, [
comment is 'Converts between relative, absolute, and full canonical paths.',
argnames is ['Relative', 'Absolute', 'Full'],
comment is 'Converts between relative, absolute, and URL canonical paths.',
argnames is ['Relative', 'Absolute', 'URL'],
exceptions is [
'None of the arguments is instantiated' - instantiation_error,
'Relative is neither a variable nor a relative path' - type_error(relative_file_name, 'Relative'),
'Absolute is neither a variable nor a absolute path' - type_error(absolute_path, 'Absolute'),
'Full is neither a variable nor a full path' - type_error(full_file_name, 'Full')]]).
'URL is neither a variable nor a file name URL' - type_error(url_file_name, 'URL')]]).
:- public(relative_file_name/1).
:- mode(relative_file_name(+atom), zero_or_one).
@ -256,10 +247,10 @@
'File is not instantiated' - instantiation_error,
'File is neither a variable nor a valid file name' - type_error(file_name, 'File')]]).
:- public(full_file_name/1).
:- mode(full_file_name(+atom), zero_or_one).
:- info(full_file_name/1, [
comment is 'True when the argument is a valid, full file name.',
:- public(url_file_name/1).
:- mode(url_file_name(+atom), zero_or_one).
:- info(url_file_name/1, [
comment is 'True when the argument is a valid, URL file name.',
argnames is ['File'],
exceptions is [
'File is not instantiated' - instantiation_error,
@ -275,77 +266,26 @@
'File is neither a variable nor a valid file name' - type_error(file_name, 'File'),
'Absolute is neither a variable nor a valid file name' - type_error(file_name, 'Absolute')]]).
:- public(full_file_name/2).
:- mode(full_file_name(+atom, ?atom), zero_or_one).
:- info(full_file_name/2, [
comment is 'Expands a file name into a full file name.',
argnames is ['File', 'Full'],
:- public(url_file_name/2).
:- mode(url_file_name(+atom, ?atom), zero_or_one).
:- info(url_file_name/2, [
comment is 'Expands a file name into a URL.',
argnames is ['File', 'URL'],
exceptions is [
'File is not instantiated' - instantiation_error,
'File is neither a variable nor a valid file name' - type_error(file_name, 'File'),
'Full is neither a variable nor a valid file name' - type_error(file_name, 'Full')]]).
'URL is neither a variable nor a valid file name URL' - type_error(file_name, 'URL')]]).
:- public(file_name_extension/2).
:- mode(file_name_extension(+atom, ?atom), zero_or_one).
:- info(file_name_extension/2, [
comment is 'Extracts a file name extension (without the dot). Returns the empty atom if no extension exists.',
argnames is ['File', 'Extension'],
:- public(file_name_part/2).
:- mode(file_name_part(+atom, ?nonvar), zero_or_more).
:- info(file_name_part/2, [
comment is 'File name parts.',
argnames is ['File', 'Part'],
exceptions is [
'File is not instantiated' - instantiation_error,
'File is neither a variable nor a valid file name' - type_error(file_name, 'File'),
'Extension is neither a variable nor an atom' - type_error(atom, 'Extension')]]).
:- public(file_base_name/2).
:- mode(file_base_name(+atom, ?atom), zero_or_one).
:- info(file_base_name/2, [
comment is 'Extracts a file base name.',
argnames is ['File', 'Base'],
exceptions is [
'File is not instantiated' - instantiation_error,
'File is neither a variable nor a valid file name' - type_error(file_name, 'File'),
'Base is neither a variable nor an atom' - type_error(atom, 'Base')]]).
:- public(file_name_directory/2).
:- mode(file_name_directory(+atom, ?atom), zero_or_one).
:- info(file_name_directory/2, [
comment is 'Extracts a file name directory (ends with the directory path separator).',
argnames is ['File', 'Directory'],
exceptions is [
'File is not instantiated' - instantiation_error,
'File is neither a variable nor a valid file name' - type_error(file_name, 'File'),
'Directory is neither a variable nor a valid file name' - type_error(file_name, 'Directory')]]).
:- public(file_name_protocol/2).
:- mode(file_name_protocol(+atom, ?atom), zero_or_one).
:- info(file_name_protocol/2, [
comment is 'Extracts a file name access protocol.',
argnames is ['File', 'Protocol'],
exceptions is [
'File is not instantiated' - instantiation_error,
'File is neither a variable nor a valid file name' - type_error(file_name, 'File'),
'Protocol is neither a variable nor a valid file access protocol' - type_error(file_protocol, 'Protocol')]]).
:- public(file_name_login/3).
:- mode(file_name_login(+atom, ?atom, ?atom), zero_or_one).
:- info(file_name_login/3, [
comment is 'Extracts the username and the password from a file name.',
argnames is ['File', 'User', 'Password'],
exceptions is [
'File is not instantiated' - instantiation_error,
'File is neither a variable nor a valid file name' - type_error(file_name, 'File'),
'User is neither a variable nor an atom' - type_error(atom, 'User'),
'Password is neither a variable nor an atom' - type_error(atom, 'Password')]]).
:- public(file_name_host/3).
:- mode(file_name_host(+atom, ?atom, ?float), zero_or_one).
:- info(file_name_host/3, [
comment is 'Extracts the host name and the host port from a file name.',
argnames is ['File', 'Host', 'Port'],
exceptions is [
'File is not instantiated' - instantiation_error,
'File is neither a variable nor a valid file name' - type_error(file_name, 'File'),
'Host is neither a variable nor an atom' - type_error(atom, 'Host'),
'Port is neither a variable nor an integer' - type_error(integer, 'Port')]]).
'File does not exists' - existence_error(file, 'File'),
'Part is neither a variable nor a file name part' - type_error(file_name_part, 'Port')]]).
:- public(file_name_parts/2).
:- mode(file_name_parts(+atom, -list), one).
@ -356,6 +296,6 @@
exceptions is [
'None of the arguments are instantiated' - instantiation_error,
'File is neither a variable nor a valid file name' - type_error(file_name, 'File'),
'Parts is neither a variable nor a list' - type_error(list, 'Host')]]).
'Parts is neither a variable nor a list' - type_error(list, 'Parts')]]).
:- end_protocol.

View File

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

View File

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

View File

@ -98,7 +98,7 @@
<dd>A request for a service, sent to an object. In more logical terms, a message can be seen as a request for proof construction using an object's predicates.</dd>
<dt class="glossary"><strong>metainterpreter</strong><a name="metainterpreter"></a></dt>
<dd>A program capable of running and modifying other programs written in the same language.</dd>
<dd>A program capable of running other programs written in the same language.</dd>
<dt class="glossary"><strong>method</strong><a name="method"></a></dt>
<dd>Set of predicate clauses used to answer a message sent to an object. Logtalk uses dynamic binding to find which method to run to answer a message.</dd>
@ -177,7 +177,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: July 7, 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 2.17.2 Documentation</title>
<title>Logtalk 2.18.0 Documentation</title>
<link rel="stylesheet" href="styles.css" type="text/css" />
</head>
@ -18,7 +18,7 @@
&nbsp;
</div>
<h1>Logtalk 2.17.2 Documentation</h1>
<h1>Logtalk 2.18.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: June 11, 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: July 8, 2004</span></p>
</div>
</body>

View File

@ -30,7 +30,7 @@
::(Predicate1; Predicate2; ...)</pre>
<p>
Send a message to <a class="glossary" title="Go to glossary definition" href="../../glossary.html#self">self</a>. Only used in the body of a predicate definition. The argument should match a public or protected predicate of <a class="glossary" title="Go to glossary definition" href="../../glossary.html#self">self</a>. It may also match a private predicate if the predicate is imported from a category, if used from inside a category, or when using private inheritance. We can also send a set of messages to self. The "<code>,</code>" and "<code>;</code>" in the list have the usual Prolog meaning.
Send a message to <a class="glossary" title="Go to glossary definition" href="../../glossary.html#self">self</a>. Only used in the body of a predicate definition. The argument should match a public or protected predicate of <a class="glossary" title="Go to glossary definition" href="../../glossary.html#self">self</a>. It may also match a private predicate if the predicate is within the scope of the object where the method making the call is defined, if imported from a category, if used from inside a category, or when using private inheritance. We can also send a set of messages to self. The "<code>,</code>" and "<code>;</code>" in the list have the usual Prolog meaning.
</p>
</blockquote>
@ -71,7 +71,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: July 7, 2004</span></p>
</div>
</body>
</html>

View File

@ -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: April 25, 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: July 7, 2004</span></p>
</div>
</body>
</html>

View File

@ -46,6 +46,14 @@ Event-driven programming enables the building of reactive systems, where computi
</p>
</blockquote>
<h2>Support for component-based programming<a name="categories"></a></h2>
<blockquote>
<p>
Predicates can be encapsulated inside <em>categories</em> which can be imported by any object. A category is a first-class encapsulation entity, at the same level as objects and protocols, which can be used as a component when building new objects. Categories allows for code reuse between non-related objects, independent of hierarchy relations, in the same vein as protocols allow for interface reuse.
</p>
</blockquote>
<h2>Support for both prototype and class-based systems<a name="both"></a></h2>
<blockquote>
@ -110,6 +118,20 @@ The Logtalk system has been designed to be compatible with most Prolog compilers
</p>
</blockquote>
<h2>Performance<a name="performance"></a></h2>
<blockquote>
<p>
The current Logtalk implementation works as a pre-processor: Logtalk source files are first compiled to Prolog source files, which are then compiled by the chosen Prolog compiler. Therefore, Logtalk performance necessarily depends on the back-end Prolog compiler. The Logtalk pre-processor respects the programmers choices when writing efficient code that takes advantage of tail recursion and first-argument indexing.
</p>
<p>
As an object-oriented language, Logtalk uses dynamic binding for matching messages and methods. Furthermore, Logtalk entities (objects, protocols, and categories) are independently compiled, allowing for a very flexible programming development. Entities can be edited, compiled, and loaded at runtime, without necessarily implying recompilation of all related entities.
</p>
<p>
The Logtalk runtime engine implements caching of method lookups (including messages to self and super calls), ensuring a performance level close to what could be achieved with static binding implementations.
</p>
</blockquote>
<div class="navbottom">
<a href="index.html">previous</a> | <a href="../glossary.html">glossary</a> | <a href="messages.html">next</a>
</div>
@ -119,7 +141,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: July 8, 2004</span></p>
</div>
</body>
</html>

View File

@ -40,6 +40,7 @@
<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_categories" href="features.html#categories">Support for component-based 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>
@ -48,6 +49,7 @@
<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>
<dt><a name="features_performance" href="features.html#performance">Performance</a></dt>
</dl>
<h2><a name="messages" href="messages.html">Message sending</a></h2>
@ -248,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: June 11, 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: July 8, 2004</span></p>
</div>
</body>
</html>

View File

@ -1,6 +1,6 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.17.2
Release 2.18.0
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
=================================================================
@ -37,6 +37,9 @@ debian
The following shell scripts must be run by a user with administration
privileges:
make_ciaolgt.sh
makes a script named ciaolgt for running Logtalk with CIAO Prolog
make_eclipselgt.sh
makes a script named eclipselgt for running Logtalk with ECLiPSe
@ -44,23 +47,20 @@ 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
make_yaplgt.sh
makes a script named ciaolgt for running Logtalk with CIAO Prolog
make_xsblgt.sh
makes a script named ciaolgt for running Logtalk with XSB
These scripts require the environment variable LOGTALKHOME (pointing to the
Logtalk installation directory) to be defined. In addition, they accept as

View File

@ -9,23 +9,23 @@ else
prefix="$1"
fi
rm -rf $prefix/lgt2172
rm -rf $prefix/lgt2180
rm -f $prefix/logtalk
mkdir $prefix/lgt2172
mkdir $prefix/lgt2180
cd ..
cp -R * $prefix/lgt2172
cp -R * $prefix/lgt2180
cd $prefix
chmod -R go-w,a+r lgt2172
chmod a+x lgt2172
chmod a+x lgt2172/misc/*.sh
chmod a+x lgt2172/xml/*.sh
ln -sf lgt2172 logtalk
chmod -R go-w,a+r lgt2180
chmod a+x lgt2180
chmod a+x lgt2180/misc/*.sh
chmod a+x lgt2180/xml/*.sh
ln -sf lgt2180 logtalk
cd bin
ln -sf ../lgt2172/misc/cplgtdirs.sh cplgtdirs.sh
ln -sf ../lgt2180/misc/cplgtdirs.sh cplgtdirs.sh
echo "Installation completed."
echo "Users should define the environment variable LOGTALKHOME pointing"

View File

@ -1,11 +1,11 @@
Name: logtalk
Summary: Logtalk - Open source object-oriented extension to Prolog
Version: 2.17.2
Version: 2.18.0
Release: 1
License: Artistic License 2.0
Group: Development/Languages
Packager: Paulo Moura <pmoura@logtalk.org>
Source: http://www.logtalk.org/files/lgt2172.tar.gz
Source: http://www.logtalk.org/files/lgt2180.tar.gz
BuildArchitectures: noarch
URL: http://www.logtalk.org/
Prefix: /usr/local
@ -13,39 +13,39 @@ 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 lgt2172
%setup -n lgt2180
%build
%install
rm -rf /usr/local/lgt2172
rm -rf /usr/local/lgt2180
rm -f /usr/local/logtalk
mkdir /usr/local/lgt2172
cp -R * /usr/local/lgt2172
mkdir /usr/local/lgt2180
cp -R * /usr/local/lgt2180
cd /usr/local
chmod -R go-w,a+r lgt2172
chmod a+x lgt2172
chmod a+x lgt2172/misc/*.sh
chmod a+x lgt2172/xml/*.sh
ln -sf lgt2172 logtalk
chmod -R go-w,a+r lgt2180
chmod a+x lgt2180
chmod a+x lgt2180/misc/*.sh
chmod a+x lgt2180/xml/*.sh
ln -sf lgt2180 logtalk
cd bin
ln -sf ../lgt2172/misc/cplgtdirs.sh cplgtdirs.sh
ln -sf ../lgt2180/misc/cplgtdirs.sh cplgtdirs.sh
%clean
%files
%defattr(-,root,users)
%doc /usr/local/lgt2172/BIBLIOGRAPHY
%doc /usr/local/lgt2172/INSTALL
%doc /usr/local/lgt2172/LICENSE
%doc /usr/local/lgt2172/QUICK_START
%doc /usr/local/lgt2172/README
%doc /usr/local/lgt2172/RELEASE_NOTES
%doc /usr/local/lgt2172/UPGRADING
/usr/local/lgt2172/compiler
/usr/local/lgt2172/configs
/usr/local/lgt2172/examples
/usr/local/lgt2172/library
%docdir /usr/local/lgt2172/manuals
/usr/local/lgt2172/manuals
/usr/local/lgt2172/misc
/usr/local/lgt2172/wenv
/usr/local/lgt2172/xml
%doc /usr/local/lgt2180/BIBLIOGRAPHY
%doc /usr/local/lgt2180/INSTALL
%doc /usr/local/lgt2180/LICENSE
%doc /usr/local/lgt2180/QUICK_START
%doc /usr/local/lgt2180/README
%doc /usr/local/lgt2180/RELEASE_NOTES
%doc /usr/local/lgt2180/UPGRADING
/usr/local/lgt2180/compiler
/usr/local/lgt2180/configs
/usr/local/lgt2180/examples
/usr/local/lgt2180/library
%docdir /usr/local/lgt2180/manuals
/usr/local/lgt2180/manuals
/usr/local/lgt2180/misc
/usr/local/lgt2180/wenv
/usr/local/lgt2180/xml
/usr/local/logtalk
/usr/local/bin/cplgtdirs.sh

View File

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

View File

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

View File

@ -7,7 +7,7 @@
object category protocol
info initialization
public protected private
dynamic discontiguous
dynamic discontiguous multifile
mode metapredicate
end_object end_category end_protocol

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