Grokbase Groups Perl ai July 2002
FAQ
For those who may be curious, some of the initial work on AI::Perlog is coming along nicely.

The code in http://www.perlmonks.org/index.pl?node_id=191060 basically implements the following
Prolog program.

steals(PERP, STUFF) :-
thief(PERP),
valuable(STUFF),
owns(VICTIM,STUFF),
not(knows(PERP,VICTIM)).
thief(badguy).
valuable(gold).
valuable(rubies).
owns(merlyn,gold).
owns(ovid,rubies).
knows(badguy,merlyn).

We only have the ability to add basic facts, do boolean queries and simple unification (it can't
yet unify across more than one predicate).

To do:

1. Implement lists.

$pg->add_fact( owns => 'Ovid', [qw/foo bar baz/] );

2. Embeddeding facts in other facts.

$pg->add_fact( owns => 'Ovid', book( 'Learning Perl' ) );

3. Easy-to-create rules.

Haven't determined the syntax yet.

4. Unification across multiple predicates

I can't list a sample in Perl until I get the syntax for 3 down.

If anyone's interested in helping, let me know.

Also, the API is going to change (probably). All user-defined predicates will have to start with
a lower case letter. This means that I can simply designate upper case predicates as reserved
rather than trying to make the user memorize a bunch of built-ins such as 'head', 'tail',
'add_fact', etc.

Also, the POD for the module is pretty much non-existant (there's a link to a download on the link
that I listed above), so you'll have to rely on code samples that I've posted and the test suite
that's included.

Cheers,
Curtis "Ovid" Poe

=====
"Ovid" on http://www.perlmonks.org/
Someone asked me how to count to 10 in Perl:
push@A,$_ for reverse q.e...q.n.;for(@A){$_=unpack(q|c|,$_);@a=split//;
shift@a;shift@a if $a[$[]eq$[;$_=join q||,@a};print $_,$/for reverse @A

__________________________________________________
Do You Yahoo!?
HotJobs - Search Thousands of New Jobs
http://www.hotjobs.com

Search Discussions

Discussion Posts

Previous

Related Discussions

Discussion Navigation
viewthread | post
posts ‹ prev | 7 of 7 | next ›
Discussion Overview
groupai @
categoriesperl
postedJul 16, '02 at 4:34p
activeAug 19, '02 at 5:37p
posts7
users3
websiteperl.org

People

Translate

site design / logo © 2021 Grokbase