Logtalk 2.17.1 files.

git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1071 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
This commit is contained in:
pmoura
2004-06-06 22:46:45 +00:00
parent 0101c09236
commit b25690af56
158 changed files with 4565 additions and 476 deletions

View File

@@ -0,0 +1,107 @@
=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.17.1
Copyright (c) 1998-2004 Paulo Moura. All Rights Reserved.
=================================================================
% solver - a simple meta-interpreter for pure Prolog:
| ?- solver::assertz(member_of(H, [H| _])).
H = _G178
yes
| ?- solver::assertz((member_of(H, [_| T]) :- member_of(H, T))).
H = _G181
T = _G179
yes
| ?- solver::solve(member_of(2, [1,2,3])).
yes
| ?- solver::solve(member_of(X, [1,2,3])).
X = 1 ;
X = 2 ;
X = 3
yes
% proof_tree - a simple meta-interpreter for pure Prolog that
% construct a proof tree:
| ?- proof_tree::assertz(member_of(H, [H| _])).
H = _G178
yes
| ?- proof_tree::assertz((member_of(H, [_| T]) :- member_of(H, T))).
H = _G181
T = _G179
yes
| ?- proof_tree::solve(member_of(2, [1,2,3]), Tree).
Tree = member_of(2, [1, 2, 3]):- (member_of(2, [2, 3]):-true)
yes
% tracer - a simple meta-interpreter for tracing goal proofs
% using pure Prolog:
| ?- tracer::assertz(member_of(H, [H| _])).
H = _G178
yes
| ?- tracer::assertz((member_of(H, [_| T]) :- member_of(H, T))).
H = _G181
T = _G179
yes
| ?- tracer::trace(member_of(3, [1,2,3])).
1 call: member_of(3, [1, 2, 3])
2 call: member_of(3, [2, 3])
3 call: member_of(3, [3])
3 exit: member_of(3, [3])
2 exit: member_of(3, [2, 3])
1 exit: member_of(3, [1, 2, 3])
yes
| ?- tracer::trace(member_of(X, [1,2,3])).
1 call: member_of(_G187, [1, 2, 3])
1 exit: member_of(1, [1, 2, 3])
X = 1 ;
1 redo: member_of(1, [1, 2, 3])
2 call: member_of(_G187, [2, 3])
2 exit: member_of(2, [2, 3])
1 exit: member_of(2, [1, 2, 3])
X = 2 ;
1 redo: member_of(2, [1, 2, 3])
2 redo: member_of(2, [2, 3])
3 call: member_of(_G187, [3])
3 exit: member_of(3, [3])
2 exit: member_of(3, [2, 3])
1 exit: member_of(3, [1, 2, 3])
X = 3 ;
1 redo: member_of(3, [1, 2, 3])
2 redo: member_of(3, [2, 3])
3 redo: member_of(3, [3])
4 call: member_of(_G187, [])
4 fail: member_of(_G187, [])
3 fail: member_of(_G187, [3])
2 fail: member_of(_G187, [2, 3])
1 fail: member_of(_G187, [1, 2, 3])
no