33 lines
663 B
Plaintext
33 lines
663 B
Plaintext
|
================================================================
|
||
|
Logtalk - Open source object-oriented logic programming language
|
||
|
Release 2.30.1
|
||
|
|
||
|
Copyright (c) 1998-2007 Paulo Moura. All Rights Reserved.
|
||
|
================================================================
|
||
|
|
||
|
|
||
|
% start by loading the example:
|
||
|
|
||
|
| ?- logtalk_load(tabling(loader)).
|
||
|
...
|
||
|
|
||
|
|
||
|
% use tabling to cope with a left-recursive path finding predicate
|
||
|
% (the order of the solutions may depend on the tabling strategy):
|
||
|
|
||
|
| ?- paths::path(1, Y).
|
||
|
|
||
|
Y = 2 ? ;
|
||
|
Y = 4 ? ;
|
||
|
Y = 3 ? ;
|
||
|
Y = 5 ?
|
||
|
yes
|
||
|
|
||
|
|
||
|
% use tabling to avoid repeated calculation of Fibonacci numbers:
|
||
|
|
||
|
| ?- fibonacci::fib(30, F).
|
||
|
|
||
|
F = 1346269
|
||
|
yes
|