Logtalk 2.24.0 files.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1282 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.23.1
|
||||
Release 2.24.0
|
||||
|
||||
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
@@ -71,6 +71,10 @@ diamonds
|
||||
dynpred
|
||||
example of using some of the built-in database handling methods
|
||||
|
||||
encodings
|
||||
very simple example of using the new, experimental enconding/1
|
||||
directive (requires Logtalk to be run with the SWI-Prolog compiler)
|
||||
|
||||
engines
|
||||
example of category composition (importation of categories by other
|
||||
categories) using car engines
|
||||
|
@@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.23.1
|
||||
Release 2.24.0
|
||||
|
||||
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.23.1
|
||||
Release 2.24.0
|
||||
|
||||
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.23.1
|
||||
Release 2.24.0
|
||||
|
||||
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.23.1
|
||||
Release 2.24.0
|
||||
|
||||
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.23.1
|
||||
Release 2.24.0
|
||||
|
||||
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
@@ -8,26 +8,20 @@ Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
|
||||
|
||||
To load this example and for sample queries, please see the SCRIPT file.
|
||||
|
||||
If your Prolog compiler does not support a module system, then edit the
|
||||
loader.lgt file and comment out the directive that loads the module code.
|
||||
In case your Prolog compiler supports a module system, you may need to
|
||||
edit the code on the module.pl file and make any necessary compatibility
|
||||
changes.
|
||||
This folder provides simple benchmark tests for comparing Logtalk message
|
||||
sending performance with direct predicates calls in plain Prolog.
|
||||
These benchmarks may also be used for comparing Logtalk message sending
|
||||
performance across Prolog compilers.
|
||||
|
||||
This folder provides simple benchmarks for comparing Logtalk message
|
||||
sending performance with direct calls to Prolog predicates and with
|
||||
calls to module predicates. These benchmarks may also be used for
|
||||
comparing Logtalk message sending performance across Prolog compilers.
|
||||
This example is made of five source files:
|
||||
|
||||
This example is made of four source files:
|
||||
|
||||
benchmark.pl
|
||||
benchmark.lgt
|
||||
contains the benchmark predicates
|
||||
plain.pl
|
||||
plain.lgt
|
||||
contains a definition for a list length predicate and a predicate
|
||||
for testing performance of the built-in predicates assertz/1 and
|
||||
retract/1
|
||||
module.pl
|
||||
module.pl (not loaded by default; see below)
|
||||
contains the same definition of a list length predicate
|
||||
encapsulated in a module
|
||||
object.lgt
|
||||
@@ -37,8 +31,30 @@ This example is made of four source files:
|
||||
contains predicates for testing the performance of the built-in
|
||||
database methods assertz/1 and retract/1
|
||||
|
||||
You may have noticed above that the benchmark predicates and the predicates
|
||||
for plain Prolog testing are both encapsulated in Logtalk source files. The
|
||||
Logtalk compiler just copies the plain Prolog code to the generated Prolog
|
||||
files. The reason for using the .lgt extension for these files is just to
|
||||
make it possible to load all the example code using a single call to the
|
||||
logtalk_load/1 predicate.
|
||||
|
||||
The Prolog files above are loaded (from the loader.lgt file) by using
|
||||
ensure_loaded/1 directives. If this directive is not supported on your
|
||||
Prolog compiler, replace them by calls to the built-in predicate used
|
||||
by your compiler to load Prolog code.
|
||||
By default, the benchmark tests on the SCRIPT file use a list of 30 elements
|
||||
as an argument to the list length predicates. Increasing the list length
|
||||
leads to decreasing performance differences between plain Prolog and Logtalk
|
||||
as the list length computation time far outweighs the overhead of the message
|
||||
sending mechanism. Likewise, decreasing the list length leads to increasing
|
||||
performance differences between plain Prolog and Logtalk (up to the point you
|
||||
will be measuring the Logtalk message sending mechanism overhead compared to
|
||||
plain Prolog predicate calls). In real-life applications, only testing can
|
||||
give you a balanced view on the trade-offs between plain Prolog performance
|
||||
and Logtalk programming features.
|
||||
|
||||
By default, the loader.lgt file used to load the example code does not load
|
||||
the module.pl file. Edit this file if your Prolog compiler supports a module
|
||||
system and you want to run some comparative performance tests between plain
|
||||
Prolog, Prolog modules, and Logtalk objects. Note that you may need to edit
|
||||
the code on the module.pl file to make any necessary compatibility changes
|
||||
for your Prolog compiler module system. For most Prolog module systems, the
|
||||
performance of module calls is close or even identical to the performance of
|
||||
plain Prolog calls, specially when using imported predicates as opposed to
|
||||
using explicit module qualification.
|
||||
|
@@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.23.1
|
||||
Release 2.24.0
|
||||
|
||||
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
@@ -12,66 +12,67 @@ Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
|
||||
...
|
||||
|
||||
|
||||
% run the default set of benchmark tests:
|
||||
|
||||
| ?- benchmarks.
|
||||
...
|
||||
|
||||
|
||||
% or run specific benchmark tests individually as exemplified next...
|
||||
|
||||
|
||||
% call the predicate my_length/0 defined in the Prolog database:
|
||||
|
||||
| ?- benchmark(my_length([1, 2, 3, 4, 5, 6, 7, 8, 9, 0], _)).
|
||||
| ?- generate_list(30, List), benchmark(my_length(List, _)).
|
||||
|
||||
Number of repetitions: 100000
|
||||
Loop time: 0.03 seconds
|
||||
Goal time: 0.39 seconds
|
||||
Average time per call: 3.6e-06 seconds
|
||||
Number of calls per second: 277777.777777778
|
||||
List = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29] ?
|
||||
yes
|
||||
|
||||
|
||||
% call the predicate object::length/2 from the top-level:
|
||||
|
||||
| ?- generate_list(30, List), benchmark(object::length(List, _)).
|
||||
|
||||
Number of repetitions: 100000
|
||||
Loop time: 0.04 seconds
|
||||
Goal time: 0.31 seconds
|
||||
Average time per call: 2.7e-06 seconds
|
||||
Number of calls per second: 370370.370370371
|
||||
Goal time: 0.79 seconds
|
||||
Average time per call: 7.5e-06 seconds
|
||||
Number of calls per second: 133333.333333333
|
||||
List = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29] ?
|
||||
yes
|
||||
|
||||
|
||||
% call the predicate module:mod_length/2 from top-level:
|
||||
% compiled call of the predicate object::length/2 (simulates message sending
|
||||
% from a compiled object to another object; thus with no top-level overhead):
|
||||
|
||||
| ?- benchmark(module:mod_length([1, 2, 3, 4, 5, 6, 7, 8, 9, 0], _)).
|
||||
| ?- generate_list(30, List), benchmark('$lgt_send_to_object_nv'(object, length(List, _), user)).
|
||||
|
||||
Number of repetitions: 100000
|
||||
Loop time: 0.04 seconds
|
||||
Goal time: 0.31 seconds
|
||||
Average time per call: 2.7e-06 seconds
|
||||
Number of calls per second: 370370.37037037
|
||||
Loop time: 0.0299999999999998 seconds
|
||||
Goal time: 0.5 seconds
|
||||
Average time per call: 4.70000000000001e-06 seconds
|
||||
Number of calls per second: 212765.957446808
|
||||
List = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29] ?
|
||||
yes
|
||||
|
||||
|
||||
% call the predicate list::length/2 from top-level:
|
||||
|
||||
| ?- benchmark(object::length([1, 2, 3, 4, 5, 6, 7, 8, 9, 0], _)).
|
||||
|
||||
Number of repetitions: 100000
|
||||
Loop time: 0.0600000000000005 seconds
|
||||
Goal time: 0.94 seconds
|
||||
Average time per call: 8.79999999999999e-06 seconds
|
||||
Number of calls per second: 113636.363636364
|
||||
yes
|
||||
|
||||
|
||||
% compiled call of the predicate list::length/2 (simulates message sending
|
||||
% from a compiled object to another object; thus no top-level overhead):
|
||||
|
||||
| ?- benchmark('$lgt_send_to_object_nv'(object, length([1, 2, 3, 4, 5, 6, 7, 8, 9, 0], _), user)).
|
||||
|
||||
Number of repetitions: 100000
|
||||
Loop time: 0.0499999999999972 seconds
|
||||
Goal time: 0.510000000000002 seconds
|
||||
Average time per call: 4.60000000000004e-06 seconds
|
||||
Number of calls per second: 217391.304347824
|
||||
yes
|
||||
|
||||
|
||||
% compiled call of the predicate list::length/2 (simulates message sending
|
||||
% compiled call of the predicate object::length/2 (simulates message sending
|
||||
% from a compiled object to another object with event-driven programming
|
||||
% support switched off and with no top-level overhead):
|
||||
|
||||
| ?- benchmark('$lgt_send_to_object_ne_nv'(object, length([1, 2, 3, 4, 5, 6, 7, 8, 9, 0], _), user)).
|
||||
| ?- generate_list(30, List), benchmark('$lgt_send_to_object_ne_nv'(object, length(List, _), user)).
|
||||
|
||||
Number of repetitions: 100000
|
||||
Loop time: 0.0500000000000007 seconds
|
||||
Goal time: 0.43 seconds
|
||||
Average time per call: 3.79999999999999e-06 seconds
|
||||
Number of calls per second: 263157.894736843
|
||||
Loop time: 0.0300000000000002 seconds
|
||||
Goal time: 0.46 seconds
|
||||
Average time per call: 4.3e-06 seconds
|
||||
Number of calls per second: 232558.139534884
|
||||
List = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29] ?
|
||||
yes
|
||||
|
||||
|
||||
@@ -80,48 +81,56 @@ yes
|
||||
| ?- benchmark((create_object(xpto, [], [], []), abolish_object(xpto))).
|
||||
|
||||
Number of repetitions: 100000
|
||||
Loop time: 0.039999999999992 seconds
|
||||
Goal time: 102.77 seconds
|
||||
Average time per call: 0.0010273 seconds
|
||||
Number of calls per second: 973.425484279178
|
||||
Loop time: 0.0300000000000011 seconds
|
||||
Goal time: 51.59 seconds
|
||||
Average time per call: 0.0005156 seconds
|
||||
Number of calls per second: 1939.48797517455
|
||||
yes
|
||||
|
||||
|
||||
% test assertz/1 and retract/1 performance in plain Prolog:
|
||||
|
||||
| ?- benchmark(db_test_plain).
|
||||
|
||||
Number of repetitions: 100000
|
||||
Loop time: 0.0599999999999454 seconds
|
||||
Goal time: 81.25 seconds
|
||||
Average time per call: 0.000811900000000001 seconds
|
||||
Number of calls per second: 1231.67877817465
|
||||
Loop time: 0.0299999999999727 seconds
|
||||
Goal time: 51.07 seconds
|
||||
Average time per call: 0.0005104 seconds
|
||||
Number of calls per second: 1959.24764890282
|
||||
yes
|
||||
|
||||
|
||||
% test assertz/1 and retract/1 performance in this:
|
||||
% test assertz/1 and retract/1 performance on "this" database:
|
||||
|
||||
| ?- benchmark('$lgt_send_to_object_ne_nv'(database, db_test_this, user)).
|
||||
|
||||
Number of repetitions: 100000
|
||||
Loop time: 0.0699999999999363 seconds
|
||||
Goal time: 92.03 seconds
|
||||
Average time per call: 0.0009196 seconds
|
||||
Number of calls per second: 1087.42931709439
|
||||
Loop time: 0.0299999999999727 seconds
|
||||
Goal time: 63.37 seconds
|
||||
Average time per call: 0.0006334 seconds
|
||||
Number of calls per second: 1578.78118092832
|
||||
yes
|
||||
|
||||
|
||||
% test assertz/1 and retract/1 performance in self:
|
||||
% test assertz/1 and retract/1 performance on "self" database:
|
||||
|
||||
| ?- benchmark('$lgt_send_to_object_ne_nv'(database, db_test_self, user)).
|
||||
|
||||
Number of repetitions: 100000
|
||||
Loop time: 0.0599999999999454 seconds
|
||||
Goal time: 111.92 seconds
|
||||
Average time per call: 0.0011186 seconds
|
||||
Number of calls per second: 893.974611121043
|
||||
Loop time: 0.0299999999999727 seconds
|
||||
Goal time: 71.3499999999999 seconds
|
||||
Average time per call: 0.000713199999999999 seconds
|
||||
Number of calls per second: 1402.13123948402
|
||||
yes
|
||||
|
||||
|
||||
% test assertz/1 and retract/1 performance using ::/2:
|
||||
% test assertz/1 and retract/1 performance on another object database (using ::/2):
|
||||
|
||||
| ?- benchmark('$lgt_send_to_object_ne_nv'(database, db_test_obj, user)).
|
||||
|
||||
Number of repetitions: 100000
|
||||
Loop time: 0.0600000000001728 seconds
|
||||
Goal time: 114.37 seconds
|
||||
Average time per call: 0.0011431 seconds
|
||||
Number of calls per second: 874.814102003327
|
||||
Loop time: 0.0299999999999727 seconds
|
||||
Goal time: 68.97 seconds
|
||||
Average time per call: 0.0006894 seconds
|
||||
Number of calls per second: 1450.53669857847
|
||||
yes
|
||||
|
122
Logtalk/examples/benchmarks/benchmark.lgt
Normal file
122
Logtalk/examples/benchmarks/benchmark.lgt
Normal file
@@ -0,0 +1,122 @@
|
||||
|
||||
% benchmark a goal using a default number of repetitions and printing some
|
||||
% useful statistics
|
||||
|
||||
benchmark(Goal) :-
|
||||
N = 100000,
|
||||
benchmark(Goal, N, Looptime, Goaltime, Average, Speed),
|
||||
report(Goal, N, Looptime, Goaltime, Average, Speed).
|
||||
|
||||
|
||||
benchmark(Goal, N) :-
|
||||
benchmark(Goal, N, Looptime, Goaltime, Average, Speed),
|
||||
report(Goal, N, Looptime, Goaltime, Average, Speed).
|
||||
|
||||
|
||||
benchmark(Goal, N, Looptime, Goaltime, Average, Speed) :-
|
||||
'$lgt_cpu_time'(Seconds1), % defined in the config files
|
||||
do_benchmark(N, true),
|
||||
'$lgt_cpu_time'(Seconds2),
|
||||
Looptime is Seconds2 - Seconds1,
|
||||
'$lgt_cpu_time'(Seconds3),
|
||||
do_benchmark(N, Goal),
|
||||
'$lgt_cpu_time'(Seconds4),
|
||||
Goaltime is Seconds4 - Seconds3,
|
||||
Average is (Goaltime - Looptime)/N,
|
||||
Speed is 1.0/Average.
|
||||
|
||||
|
||||
report(Id, Goal, N, Looptime, Goaltime, Average, Speed) :-
|
||||
write(Id), write(': '),
|
||||
report(Goal, N, Looptime, Goaltime, Average, Speed).
|
||||
|
||||
|
||||
report(Goal, N, Looptime, Goaltime, Average, Speed) :-
|
||||
writeq(Goal), nl,
|
||||
write('Number of repetitions: '), write(N), nl,
|
||||
write('Loop time: '), write(Looptime), nl,
|
||||
write('Goal time: '), write(Goaltime), nl,
|
||||
write('Average time per call: '), write(Average), nl,
|
||||
write('Number of calls per second: '), write(Speed), nl,
|
||||
nl.
|
||||
|
||||
|
||||
% repeat a goal N times using a failure-driven loop to avoid the interference
|
||||
% of Prolog compiler memory management mechanism (such as garbage collection)
|
||||
% on the results
|
||||
|
||||
do_benchmark(N, Goal) :-
|
||||
repeat(N), % another option would be to use a between/3 built-in predicate
|
||||
call(Goal),
|
||||
fail.
|
||||
|
||||
do_benchmark(_, _).
|
||||
|
||||
|
||||
% some Prolog compilers define the predicate repeat/1 as a built-in predicate;
|
||||
% if that's the case of the Prolog compiler you are using, then comment out
|
||||
% the definition that follows
|
||||
|
||||
repeat(_).
|
||||
|
||||
repeat(N) :-
|
||||
N > 1,
|
||||
N2 is N - 1,
|
||||
repeat(N2).
|
||||
|
||||
|
||||
% generate a list containing the first N non-negative integers
|
||||
|
||||
generate_list(N, List) :-
|
||||
N >= 0,
|
||||
generate_list(0, N, List).
|
||||
|
||||
|
||||
generate_list(N, N, []) :-
|
||||
!.
|
||||
|
||||
generate_list(M, N, [M| Ms]) :-
|
||||
M < N,
|
||||
M2 is M + 1,
|
||||
generate_list(M2, N, Ms).
|
||||
|
||||
|
||||
% utility predicate for running all benchmark tests
|
||||
|
||||
benchmarks :-
|
||||
N = 100000,
|
||||
benchmark_goal(Id, Goal),
|
||||
benchmark(Goal, N, Looptime, Goaltime, Average, Speed),
|
||||
report(Id, Goal, N, Looptime, Goaltime, Average, Speed),
|
||||
fail.
|
||||
|
||||
benchmarks.
|
||||
|
||||
|
||||
% some benchmark tests for static code:
|
||||
|
||||
benchmark_goal('S1', my_length(List, _)) :-
|
||||
generate_list(30, List).
|
||||
|
||||
benchmark_goal('S2', object::length(List, _)) :-
|
||||
generate_list(30, List).
|
||||
|
||||
benchmark_goal('S3', '$lgt_send_to_object_nv'(object, length(List, _), user)) :-
|
||||
generate_list(30, List).
|
||||
|
||||
benchmark_goal('S4', '$lgt_send_to_object_ne_nv'(object, length(List, _), user)) :-
|
||||
generate_list(30, List).
|
||||
|
||||
|
||||
% some benchmark tests for dynamic code:
|
||||
|
||||
benchmark_goal('D1', (create_object(xpto, [], [], []), abolish_object(xpto))).
|
||||
|
||||
benchmark_goal('D2', db_test_plain).
|
||||
|
||||
benchmark_goal('D3', '$lgt_send_to_object_ne_nv'(database, db_test_this, user)).
|
||||
|
||||
benchmark_goal('D4', '$lgt_send_to_object_ne_nv'(database, db_test_self, user)).
|
||||
|
||||
benchmark_goal('D5', '$lgt_send_to_object_ne_nv'(database, db_test_obj, user)).
|
||||
|
@@ -1,45 +0,0 @@
|
||||
|
||||
% benchmark a goal using a default number of repetitions and printing some
|
||||
% useful statistics
|
||||
|
||||
benchmark(Goal) :-
|
||||
N = 100000,
|
||||
write('Number of repetitions: '), write(N), nl,
|
||||
'$lgt_cpu_time'(Seconds1), % defined in the config files
|
||||
benchmark(N, true),
|
||||
'$lgt_cpu_time'(Seconds2),
|
||||
Looptime is Seconds2 - Seconds1,
|
||||
write('Loop time: '), write(Looptime), write(' seconds'), nl,
|
||||
'$lgt_cpu_time'(Seconds3),
|
||||
benchmark(N, Goal),
|
||||
'$lgt_cpu_time'(Seconds4),
|
||||
Goaltime is Seconds4 - Seconds3,
|
||||
write('Goal time: '), write(Goaltime), write(' seconds'), nl,
|
||||
Average is (Goaltime - Looptime)/N,
|
||||
write('Average time per call: '), write(Average), write(' seconds'), nl,
|
||||
Speed is 1.0/Average,
|
||||
write('Number of calls per second: '), write(Speed), nl.
|
||||
|
||||
|
||||
% repeat a goal N times using a failure-driven loop to avoid the interference
|
||||
% of Prolog compiler memory management mechanism (such as garbage collection)
|
||||
% on the results
|
||||
|
||||
benchmark(N, Goal) :-
|
||||
repeat(N), % another option would be to use a between/3 built-in predicate
|
||||
call(Goal),
|
||||
fail.
|
||||
|
||||
benchmark(_, _).
|
||||
|
||||
|
||||
% some Prolog compilers define the predicate repeat/1 as a built-in predicate;
|
||||
% if that's the case of the Prolog compiler you are using, then comment out
|
||||
% the definition that follows
|
||||
|
||||
repeat(_).
|
||||
|
||||
repeat(N) :-
|
||||
N > 1,
|
||||
N2 is N - 1,
|
||||
repeat(N2).
|
@@ -1,12 +1,10 @@
|
||||
|
||||
% if your Prolog compiler does not support the ensure_loaded/1 directive
|
||||
% then simply consult the files
|
||||
% uncomment the next line if your Prolog compiler supports modules
|
||||
%:- ensure_loaded(module).
|
||||
|
||||
:- ensure_loaded(benchmark).
|
||||
|
||||
:- ensure_loaded(plain).
|
||||
|
||||
% comment the next line if your Prolog compiler does not support modules
|
||||
:- ensure_loaded(module).
|
||||
|
||||
:- initialization(logtalk_load([object, database])).
|
||||
:- initialization(
|
||||
logtalk_load([
|
||||
benchmark,
|
||||
plain,
|
||||
object,
|
||||
database])).
|
||||
|
@@ -10,7 +10,7 @@
|
||||
;
|
||||
length(List, 0, Length).
|
||||
|
||||
make_list(0, []):-
|
||||
make_list(0, []) :-
|
||||
!.
|
||||
make_list(N, [_| Tail]):-
|
||||
M is N-1,
|
||||
|
@@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.23.1
|
||||
Release 2.24.0
|
||||
|
||||
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.23.1
|
||||
Release 2.24.0
|
||||
|
||||
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.23.1
|
||||
Release 2.24.0
|
||||
|
||||
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.23.1
|
||||
Release 2.24.0
|
||||
|
||||
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.23.1
|
||||
Release 2.24.0
|
||||
|
||||
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.23.1
|
||||
Release 2.24.0
|
||||
|
||||
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.23.1
|
||||
Release 2.24.0
|
||||
|
||||
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.23.1
|
||||
Release 2.24.0
|
||||
|
||||
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.23.1
|
||||
Release 2.24.0
|
||||
|
||||
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.23.1
|
||||
Release 2.24.0
|
||||
|
||||
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.23.1
|
||||
Release 2.24.0
|
||||
|
||||
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.23.1
|
||||
Release 2.24.0
|
||||
|
||||
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
@@ -29,7 +29,7 @@ Value = descendant
|
||||
yes
|
||||
|
||||
|
||||
% if we retract the local definition, again the inherited definition form root
|
||||
% if we retract the local definition, again the definition inherited from root
|
||||
% will be used:
|
||||
|
||||
| ?- descendant::(retractall(p(_)), p(Value)).
|
||||
|
20
Logtalk/examples/encodings/NOTES
Normal file
20
Logtalk/examples/encodings/NOTES
Normal file
@@ -0,0 +1,20 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.24.0
|
||||
|
||||
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
||||
|
||||
To load this example and for sample queries, please see the SCRIPT file.
|
||||
|
||||
This is a very simple example of using the new, experimental encoding/1
|
||||
directive, which is fully based on the directive with the same name found
|
||||
on recent development releases of SWI-Prolog. Currently, this example
|
||||
requires Logtalk to be run with the SWI-Prolog compiler.
|
||||
|
||||
The "babel.lgt" source file uses UTF-8 encoding. When browsing its code,
|
||||
be sure to use a text editor that supports this encoding. In addition,
|
||||
you may need to configure your text editor to open the source file using
|
||||
this encoding. If you are using the SWI-Prolog GUI application on Windows,
|
||||
be sure to select a font which supports Unicode characters.
|
46
Logtalk/examples/encodings/SCRIPT
Normal file
46
Logtalk/examples/encodings/SCRIPT
Normal file
@@ -0,0 +1,46 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.24.0
|
||||
|
||||
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
||||
|
||||
% start by loading the example:
|
||||
|
||||
| ?- logtalk_load(encodings(loader)).
|
||||
...
|
||||
|
||||
|
||||
% query the table of "Hello world!" messages:
|
||||
|
||||
| ?- babel::hello_world(Code, Text).
|
||||
|
||||
Code = el
|
||||
Text = 'Γειάσου κόσμος!' ;
|
||||
|
||||
Code = en
|
||||
Text = 'Hello world!' ;
|
||||
|
||||
Code = es
|
||||
Text = '¡Hola mundo!' ;
|
||||
|
||||
Code = ja
|
||||
Text = 'こんにちは世界!' ;
|
||||
|
||||
Code = ko
|
||||
Text = '여보세요 세계!' ;
|
||||
|
||||
Code = nl
|
||||
Text = 'Hello wereld!' ;
|
||||
|
||||
Code = pt
|
||||
Text = 'Olá mundo!' ;
|
||||
|
||||
Code = ru
|
||||
Text = 'Здравствулте! мир!' ;
|
||||
|
||||
Code = zh
|
||||
Text = '你好世界!'
|
||||
|
||||
Yes
|
29
Logtalk/examples/encodings/babel.lgt
Normal file
29
Logtalk/examples/encodings/babel.lgt
Normal file
@@ -0,0 +1,29 @@
|
||||
|
||||
:- encoding(utf8).
|
||||
|
||||
|
||||
:- object(babel).
|
||||
|
||||
:- info([
|
||||
version is 1.0,
|
||||
author is 'Paulo Moura',
|
||||
date is 2005/04/06,
|
||||
comment is 'Simple test of the encoding/1 directive.']).
|
||||
|
||||
:- public(hello_world/2).
|
||||
:- mode(hello_world(?atom, ?atom), zero_or_more).
|
||||
:- info(hello_world/2, [
|
||||
comment is 'Table of "hello world" messages in several languages (using ISO 639-2 two letter language codes for indexing).',
|
||||
argnames is ['Language', 'Text']]).
|
||||
|
||||
hello_world(el, 'Γειάσου κόσμος!').
|
||||
hello_world(en, 'Hello world!').
|
||||
hello_world(es, '¡Hola mundo!').
|
||||
hello_world(ja, 'こんにちは世界!').
|
||||
hello_world(ko, '여보세요 세계!').
|
||||
hello_world(nl, 'Hello wereld!').
|
||||
hello_world(pt, 'Olá mundo!').
|
||||
hello_world(ru, 'Здравствулте! мир!').
|
||||
hello_world(zh, '你好世界!').
|
||||
|
||||
:- end_object.
|
4
Logtalk/examples/encodings/loader.lgt
Normal file
4
Logtalk/examples/encodings/loader.lgt
Normal file
@@ -0,0 +1,4 @@
|
||||
|
||||
:- initialization(
|
||||
logtalk_load([
|
||||
babel])).
|
@@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.23.1
|
||||
Release 2.24.0
|
||||
|
||||
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.23.1
|
||||
Release 2.24.0
|
||||
|
||||
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.23.1
|
||||
Release 2.24.0
|
||||
|
||||
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.23.1
|
||||
Release 2.24.0
|
||||
|
||||
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.23.1
|
||||
Release 2.24.0
|
||||
|
||||
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.23.1
|
||||
Release 2.24.0
|
||||
|
||||
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.23.1
|
||||
Release 2.24.0
|
||||
|
||||
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.23.1
|
||||
Release 2.24.0
|
||||
|
||||
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.23.1
|
||||
Release 2.24.0
|
||||
|
||||
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.23.1
|
||||
Release 2.24.0
|
||||
|
||||
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.23.1
|
||||
Release 2.24.0
|
||||
|
||||
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.23.1
|
||||
Release 2.24.0
|
||||
|
||||
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.23.1
|
||||
Release 2.24.0
|
||||
|
||||
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.23.1
|
||||
Release 2.24.0
|
||||
|
||||
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.23.1
|
||||
Release 2.24.0
|
||||
|
||||
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.23.1
|
||||
Release 2.24.0
|
||||
|
||||
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.23.1
|
||||
Release 2.24.0
|
||||
|
||||
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.23.1
|
||||
Release 2.24.0
|
||||
|
||||
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.23.1
|
||||
Release 2.24.0
|
||||
|
||||
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.23.1
|
||||
Release 2.24.0
|
||||
|
||||
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.23.1
|
||||
Release 2.24.0
|
||||
|
||||
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.23.1
|
||||
Release 2.24.0
|
||||
|
||||
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.23.1
|
||||
Release 2.24.0
|
||||
|
||||
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.23.1
|
||||
Release 2.24.0
|
||||
|
||||
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.23.1
|
||||
Release 2.24.0
|
||||
|
||||
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.23.1
|
||||
Release 2.24.0
|
||||
|
||||
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.23.1
|
||||
Release 2.24.0
|
||||
|
||||
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.23.1
|
||||
Release 2.24.0
|
||||
|
||||
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.23.1
|
||||
Release 2.24.0
|
||||
|
||||
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.23.1
|
||||
Release 2.24.0
|
||||
|
||||
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.23.1
|
||||
Release 2.24.0
|
||||
|
||||
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.23.1
|
||||
Release 2.24.0
|
||||
|
||||
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.23.1
|
||||
Release 2.24.0
|
||||
|
||||
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.23.1
|
||||
Release 2.24.0
|
||||
|
||||
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.23.1
|
||||
Release 2.24.0
|
||||
|
||||
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.23.1
|
||||
Release 2.24.0
|
||||
|
||||
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.23.1
|
||||
Release 2.24.0
|
||||
|
||||
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.23.1
|
||||
Release 2.24.0
|
||||
|
||||
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.23.1
|
||||
Release 2.24.0
|
||||
|
||||
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.23.1
|
||||
Release 2.24.0
|
||||
|
||||
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.23.1
|
||||
Release 2.24.0
|
||||
|
||||
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.23.1
|
||||
Release 2.24.0
|
||||
|
||||
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.23.1
|
||||
Release 2.24.0
|
||||
|
||||
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.23.1
|
||||
Release 2.24.0
|
||||
|
||||
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.23.1
|
||||
Release 2.24.0
|
||||
|
||||
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.23.1
|
||||
Release 2.24.0
|
||||
|
||||
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@@ -6,9 +6,9 @@
|
||||
|
||||
|
||||
:- info([
|
||||
version is 1.0,
|
||||
version is 1.1,
|
||||
author is 'Paulo Moura',
|
||||
date is 2000/7/24,
|
||||
date is 2005/3/12,
|
||||
comment is 'Default metaclass for all classes.']).
|
||||
|
||||
|
||||
@@ -83,7 +83,7 @@
|
||||
atom_codes(Atom2, Codes2),
|
||||
atom_concat(Functor, Atom2, Identifier),
|
||||
atom_concat(Identifier, Atom, Prefix),
|
||||
\+ current_predicate(Prefix/_),
|
||||
\+ {current_predicate(Prefix/_)},
|
||||
asserta(instance_counter_(Next)),
|
||||
!.
|
||||
|
||||
@@ -93,7 +93,7 @@
|
||||
number_codes(Arity, Codes),
|
||||
atom_codes(Atom, Codes),
|
||||
atom_concat(Functor, Atom, Prefix),
|
||||
\+ current_predicate(Prefix/_).
|
||||
\+ {current_predicate(Prefix/_)}.
|
||||
|
||||
|
||||
next_integer(N, N1) :-
|
||||
|
@@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.23.1
|
||||
Release 2.24.0
|
||||
|
||||
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.23.1
|
||||
Release 2.24.0
|
||||
|
||||
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.23.1
|
||||
Release 2.24.0
|
||||
|
||||
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.23.1
|
||||
Release 2.24.0
|
||||
|
||||
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.23.1
|
||||
Release 2.24.0
|
||||
|
||||
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.23.1
|
||||
Release 2.24.0
|
||||
|
||||
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.23.1
|
||||
Release 2.24.0
|
||||
|
||||
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.23.1
|
||||
Release 2.24.0
|
||||
|
||||
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.23.1
|
||||
Release 2.24.0
|
||||
|
||||
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.23.1
|
||||
Release 2.24.0
|
||||
|
||||
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.23.1
|
||||
Release 2.24.0
|
||||
|
||||
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.23.1
|
||||
Release 2.24.0
|
||||
|
||||
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
@@ -1,6 +1,6 @@
|
||||
=================================================================
|
||||
Logtalk - Object oriented extension to Prolog
|
||||
Release 2.23.1
|
||||
Release 2.24.0
|
||||
|
||||
Copyright (c) 1998-2005 Paulo Moura. All Rights Reserved.
|
||||
=================================================================
|
||||
|
Reference in New Issue
Block a user