Dr. Michael Winikoff, the author of W-Prolog, has graciously given me permission to port his Java applet to Perl. I'm not interested in the applet, just the predicate logic engine. I've successfully stripped the applet code from the Java and have finished the port to Perl, but it doesn't work. It's almost there, but not quite. If anyone with a strong Java and Perl background (and Prolog wouldn't hurt) is willing to look over my code and tell me what I missed, I'd be grateful. It's about 1000 lines of code altogether. If you're interested, let me know and I'll make a tar ball to email you.
Barring that, I fear I will have to write JUnit tests for all of the Java code and mirror those with Test::Class to ensure that I didn't miss anything. That's a long, hard road ahead of me :/
Update: Never mind. I found the bug. I now have a pure Perl predicate logic engine. Every minute of my spare time has been spent trying to get this thing to work. Now I have to start writing docs, nailing down the edge cases, cleaning the code, etc. It will be a while before it hits the CPAN, but the hard part is done :)
Re:I can't wait!
Ovid on 2005-01-18T23:07:10
You'll have to wait for quite a bit, I'm afraid. I don't have much spare time to work on in this week. Also, there is no documentation or tests. I won't release without decent amounts of both so people can see what's going on.
Incidentally, the lack of tests was fascinating. I knew what the Java code was doing overall, but the individual pieces mystified me before I ported them. Thus, trying to do test-driven development when I didn't know what the code was doing was not possible. However, after I ported, I knew what the pieces did, so I can go back and fill in the tests. It's not the way I ordinarily like to do things, but that's the way it came out.