Prolog Programming in Ubuntu

I personally use gprolog or swipl in the interpreted environment. So you write facts and rules in a mydb.pl file, and open the interpreter in the same directory. Once the prompt shows up you can query

['mydb.pl'].

for loading your database. now you can either see the warnings\errors or start querying from inside the prolog interpreter.


Yes, you can use any text editor, incl. VIM. Once you have written a Prolog source file, say, file.pl, you can load it into SWI-Prolog like so:

swipl -s file.pl

This will compile your file and take you to an interactive shell where you can then ask queries against the definitions in your file.

If you want to use your Prolog program in batch mode, you can use:

swipl -s file.pl -t goal

where goal is the goal/query you want to evaluate. Note that in this case you won't be getting the option to ask for alternative solutions.


On Ubunutu, I started off using emacs, which at least does syntax highlighting:

http://www.swi-prolog.org/FAQ/GnuEmacs.html

(2 emacs suggestions on that page ^)

But now I use prolog in anger, I use an Eclipse plugin called PDT:

http://sewiki.iai.uni-bonn.de/research/pdt/docs/v2.1/start

Especially useful is the real-time line by line debug and trace, so you can step into, step over individual predicates, monitor variables names etc.. just like an other real IDE you would find in eclipse.

Probably only worth installing if you're going to use it a LOT, since the install is a lot of work, but it's a great IDE.

But if you like your low level editors like VIM, you will have to use the debug and trace tools built into swi-prolog, see:

http://www.swi-prolog.org/pldoc/man?section=debugger

To work out how the strange and beautiful prolog interpreter works, using a tracer of some kind is a must-have.