Integrated help system for AI::Prolog

Ovid on 2005-07-31T20:31:11

As with many CPAN authors, I've been in a mad rush to get another release out the door for OSCON. I've just released AI::Prolog 0.72 and it should be on CPAN mirrors soon. The biggest improvement are the new help/0 and help/1 predicates. In the aiprolog shell, help. will list all builtin predicates for which help is available. Given one of those predicates as an argument, help will output a usage message.

[ovid@tomis temp]$ aiprolog

Welcome to AI::Prolog v 0.72
Copyright (c) 2005, Curtis "Ovid" Poe.
AI::Prolog comes with ABSOLUTELY NO WARRANTY.  This library is free software;
you can redistribute it and/or modify it under the same terms as Perl itself.

Type '?' for help.

?- help('consult/1').

consult/1

    Supplied the name of a file containing Prolog code, this will consult
    the Prolog code in the file and add its contents to the current
    knowledgebase.

    Will warn if the file cannot be opened.

help(consult/1)

Yes
?-

It will also warn loudly if you try to use a non-existent predicate. This helps prevent typos such as consutl($somefile).

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.