AI-Prolog
view release on metacpan or search on metacpan
0.733 2005-10-08
Added POD tests (sort of)
Added strict to AI::Prolog
Converted to Module::Build
0.732 Sat August 6, 2005
Added lib/AI/Prolog/Cookbook.pm to the MANIFEST (whoops)
0.73 Sat August 6, 2005
Added AI::Prolog::Cookbook as an introduction to common problems
encountered when working with Prolog.
TermList->to_string now causes listings to look very similar to
SWI-Prolog. Much easier to read.
Term->to_string now identifies variables by letter, not /_\d+/.
Completed decoupling of AI::Prolog::Parser from the engine.
0.72 Sun July 31, 2005
Move builtins to their own class, AI::Prolog::Engine::Builtins
Non-existent predicates now issue a warning even if trace is off.
Added new predicates:
halt/0 -- currently a no-op outside of the aiprolog shell
help/0 -- list all builtin predicates for which help is available
help/1 -- list help for builtin predicate
write/1
writeln/1
Added ** operator (pow/1) to math preprocessor. Leaving it out
earlier was an oversight.
0.71 Sat June 25, 2005
Removed _failgoal in Engine.pm. We now backtrack if we need
new results.
Added several new regression tests.
Fixed bug where code was not warning on unknown predicates.
(Doug Wilson)
Fixed bug where tracing fails when it tries to print a non-
existent "next_clause". (Doug Wilson)
retract/1 now works correctly. (Doug Wilson)
Fixed unification bug that crept in in .62.
Added data/sleepy.pro, a game that wasn't working because of
the retract/1 bug.
0.7 Mon June 20, 2005 (Happy Birthday to me)
Parsing errors now attempt to report the line number of the
error.
Added new predicates:
consult/1
listing/1
ne/2
Updated the license information display for aiprolog shell.
Modified listing/0 to not show builtins.
Added math preprocessor. This transforms proper Prolog math
into internal predicates the parser recognizes:
X is N + 1. % is(X, plus(N, 1)).
Pushed all parsing back to the Parser class. No more parsing
in TermList and Term :)
Added anonymous variables: foo(bar, _, baz). I don't have
any efficiency gains from this (yet) because they're just
variables with hidden names, but they work.
Added Test::Exception to the PREREQ_PM (thanks to rjray for
pointing that out).
Updated the docs and examples.
0.65 Wed May 11, 2005
Added Term::ReadLine support to aiprolog shell.
Added Term::ReadKey support to aiprolog shell.
Minor doc corrections.
0.64 Mon May 09, 2005
Change default behavior to AI::Prolog->raw_results(1).
Added quote() method to allow Perl variables to be quoted
and used at Prolog terms.
Added list() method to allow a Perl list to be turned into
a Prolog list.
0.63 Wed May 04, 2005
Allow parser to properly handle positive and negative numbers
and decimal points.
Added pow(X,Y).
Eliminated studlyCaps methods.
Added trace. and notrace.
Added a TODO test for a failing regression test.
0.62 Fri Feb 25, 2005
Added code to avoid bug in some Perl's where "undef" looks
like a number.
Major performance improvement. Now runs about 40% faster.
Added
listing.
println(X).
is(X,Y).
plus(X,Y).
minus(X,Y).
mult(X,Y).
div(X,Y).
mod(X,Y).
ge(X,Y).
gt(X,Y).
le(X,Y).
lt(X,Y).
Added towers of hanoi and a scheduler to the examples/.
0.61 Mon Feb 21, 2005
Added var(X).
Disabled tracing in the aiprolog shell (whoops!)
0.6 Sun Feb 20, 2005
Added tests for the cut, number, and clause classes.
Added stub tests for step and primitive classes.
Ensured that all classes at least had stub documentation and added
POD tests.
Updated the TODO list in AI::Prolog.
0.5 Sun Feb 13, 2005
Put the database into its own class.
Pulled engine backtracking out into its own method.
( run in 0.807 second using v1.01-cache-2.11-cpan-39bf76dae61 )