# SWI-Prolog: A comprehensive Prolog implementation

## Forking, cloning and submitting patches

This repository uses many [Git
submodules](https://git-scm.com/book/en/v2/Git-Tools-Submodules). This
causes the common issue that __fork and clone doesn't work__. Instead, _clone_ from
https://github.com/SWI-Prolog/swipl-devel.git and then associate your
clone with your _fork_ (replace `me` with your github user name).

    git clone https://github.com/SWI-Prolog/swipl-devel.git
    cd swipl-devel
    git submodule update --init
    git remote add myfork git@github.com:me/swipl-devel.git

See [How to submit a patch](https://www.swi-prolog.org/howto/SubmitPatch.html)
for details.

See also the discussion at
[Being friendly to quick contributions](https://swi-prolog.discourse.group/t/being-friendly-to-quick-contributions/493/6)

## Building

See
[CMAKE.md](https://github.com/SWI-Prolog/swipl-devel/blob/master/CMAKE.md)
and [Build SWI-Prolog from source](https://www.swi-prolog.org/build/)


## Web home

Please find the up-to-date information on SWI-Prolog at
https://www.swi-prolog.org.

## Documentation

Documentation is available from several locations and in several formats.

  - Paper format can be ordered as [print on
  demand](http://books.google.de/books?id=7AeiAwAAQBAJ&hl=en) and is
  available as PDF from the [download
  page](http://www.swi-prolog.org/download/devel).

  - Several tutorials can be accessed from the __Tutorials__ menu on
  the [home page](https://www.swi-prolog.org)

  - A HTML version of the documentation is in the `doc/Manual` directory
  of the installation.  Note that some packagers put this documentation
  elsewhere or require it to be installed separately.

You can also install the website locally to use its complete functionality if you are
offline. It is available at https://github.com/SWI-Prolog/plweb.
