Prolog Programming in Ubuntu

36,840

Solution 1

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.

Solution 2

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.

Solution 3

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.

Solution 4

buddy I also use vim to edit prolog code, What I personally do is I save my prolog file with the '.pl' extension, and then on the terminal, I use prolog interactive environment to consult my file e.g:

To initiate a prolog interactive environment just type On terminal:

prolog

Now that you have entered in SWI-prolog you can use 'consult' i.e pre-defined pseudo-predicates allow one to load Prolog code into a running Prolog interpreter:

?- consult("filename.pl")

that's it!

Share:
36,840
octain
Author by

octain

Updated on March 31, 2021

Comments

  • octain
    octain about 3 years

    I have an interest in playing and fuxing with prolog, I have installed the swi-prolog and added the repository, just in case anyone is interested on which one commands I used:

    % sudo apt-add-repository ppa:swi-prolog/stable
    % sudo apt-get update
    % sudo apt-get install swi-prolog
    

    How do I actually begin to write prolog codes on my linux machine? for my regular programming I use VIM to write/edit/debug and terminal to compile. Can I use vim to write prolog? How do i compile or use the prolog interpreter(i think that is what it is called)?

  • octain
    octain over 10 years
    Thank you, I will play around with those, is there a command where I can exit the the prolog shell? I hate to open and close my terminal for every time I want to re-run or edit the code
  • octain
    octain over 10 years
    thanks for the suggestion, will definitely try it out, I was never too big on IDE's especially eclipse, I am most comfortable with VIM, I have used emacs before and will give that a try
  • Paul Brown
    Paul Brown almost 6 years
    Syntax highlighting in VIM and the workaround for VIM recognising ".pl" files as Perl and not Prolog are discussed here: stackoverflow.com/questions/19610734/…