I've uploaded another AI::Prolog version. The code is slowly getting cleaner and it has about 150 tests. There's a new "monkey gets banana" example that is based on the monkey and banana code. This code is a rather interesting example because it tends to show more of the "AI" side of Prolog. From the page describing it:
There is a monkey at the door into a room. In the middle of the room a banana is hanging from the ceiling. The monkey is hungry and wants to get the banana, but he cannot stretch high enough from the floor. At the window of the room there is a box that the monkey can use.
The monkey can perform the following actions: walk on the floor, climb the box, push the box around (if he is already at it), and grasp the banana if he is standing on the box and directly underneath the banana.
Can the monkey grasp the banana?