Getting Started with Prolog depends on your background and goal. Here
are some options.
- I don't know anything about Prolog and want to learn the language. Prolog is
quite different than any other programming language you may know. A background
in math and functional programming helps to some extend. Start with a good
introduction text. Examples are
Both are online text books that embed SWISH.
SWISH is an online version of SWI-Prolog. SWISH differs from a local SWI-Prolog
- As it runs on a shared server it enforces a sandbox that doesn't allow
running any dangerous code and rejects code it cannot prove to be safe.
- No state is maintained between queries.
- Input/output, concurrency and many other SWI-Prolog features are not or
only in a limited way supported.
- It does provide a nice web based interface that allows for rich output
based on HTML or high level vizualization libraries such as
- I've made my first steps at Prolog and want to start a real project. Start
with a local installation for your platform. Familiarise yourself with the
and the IDE tools such as the GUI debugger. Establish your debug/edit/reload cycle based on edit/1 and
make/0. The edit/1 primitive finds predicates, files, modules, etc. and hands
their position to the built-in editor PceEmacs or the editor of your choice.
SWI-Prolog comes with a lot of features
that may be useful useful to your project. Also consider the
- I know some Prolog and I want to use SWI-Prolog for data analysis. Here
SWISH may come really handy, but you do not want the limitations of the shared
SWISH server. You could consider a local installation of SWISH and R
for SWI-Prolog, either from source or (starting) from the
- I know some Prolog and I want to use SWI-Prolog as a (web) service. Start
with a local installation for your platform and the
Web application tutorial