By default, SWI-Prolog is installed as `pl', though some administrators call it `swipl' or `swi-prolog'. The commandline arguments of SWI-Prolog itself and its utility programs are documented using standard Unix man pages. SWI-Prolog is normally operated as an interactive application simply by starting the program:
% pl /staff/jan/.plrc compiled, 0.00 sec, 1,016 bytes. Welcome to SWI-Prolog (Version 3.2.9) Copyright (c) 1993-1998 University of Amsterdam. All rights reserved. For help, use ?- help(Topic). or ?- apropos(Word). ?- |
After starting Prolog, one normally loads a program into it using
consult/1,
which---for historical reasons---may be abbreviated by putting the name
of the program file between square brackets. The following goal loads
the file likes.pl
containing clauses for the predicates likes/2:
?- [likes]. likes compiled, 0.00 sec, 596 bytes. Yes ?- |
After this point, Unix and Windows users are united again.
After SWI-Prolog has been installed on a Windows system, the following important new things are available to the user:
pl
containing the executables, libraries,
etc. of the system. No files are installed outside this directory.
.pl
is associated with the program
plwin.exe. Opening a .pl
file will cause
plwin.exe to start, change directory to the directory in which
the file-to-open resides and load this file.
The normal way to start with the likes.pl
file mentioned
in
section 2.1.1.1 is by simply double-clicking
this file in the Windows explorer.
After loading a program, one can ask Prolog queries about the program. The query below asks Prolog to prove whether `john' likes someone and who is liked by `john'. The system responds with X = <value> if it can prove the goal for a certain X. The user can type the semi-colon (;) if (s)he wants another solution, or RETURN if (s)he is satisfied, after which Prolog will say Yes. If Prolog answers No, it indicates it cannot find any more answers to the query. Finally, Prolog can answer using an error message to indicate the query or program contains an error.
?- likes(john, X). X = mary |