Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/SWI-Prolog/swipl-devel
SWI-Prolog Main development repository
https://github.com/SWI-Prolog/swipl-devel
logic-programming prolog swi-prolog
Last synced: about 1 month ago
JSON representation
SWI-Prolog Main development repository
- Host: GitHub
- URL: https://github.com/SWI-Prolog/swipl-devel
- Owner: SWI-Prolog
- License: other
- Created: 2014-03-07T14:43:14.000Z (almost 11 years ago)
- Default Branch: master
- Last Pushed: 2024-11-03T15:57:37.000Z (about 1 month ago)
- Last Synced: 2024-11-03T16:33:00.492Z (about 1 month ago)
- Topics: logic-programming, prolog, swi-prolog
- Language: C
- Homepage: http://www.swi-prolog.org
- Size: 94.5 MB
- Stars: 972
- Watchers: 48
- Forks: 174
- Open Issues: 131
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Code of conduct: Code-of-Conduct.md
Awesome Lists containing this project
- awesome-ccamel - SWI-Prolog/swipl-devel - SWI-Prolog Main development repository (C)
README
[![CI](https://github.com/SWI-Prolog/swipl-devel/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/SWI-Prolog/swipl-devel/actions/workflows/ci.yml)
# SWI-Prolog: A comprehensive Prolog implementation
SWI-Prolog is an open source (BSD-2) implementation of the Prolog
language with many extensions. It is implemented in C (version 11) and
Prolog and is available for many platforms (Linux, practically any POSIX
like system, MacOS, Windows). All CPUs supported by Debian Linux are
supported. A prototype running in your browser based on WASM (Web
Assembly) is available.(SWI-)Prolog is a versatile language. It is being used for business rule
validation, natural language processing, software verification, software
refactoring, network configuration, security, robotics, reasoning in
legal and medical domains, graph processing, machine learning (ILP,
PLP), linked data (RDF), mathematical proofs, and much more.If you are interested in commercial assistence to make SWI-Prolog work
in your organization, please contact [SWI-Prolog Solutions
b.v.](https://swi-prolog.com/).## 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 [email protected]:me/swipl-devel.gitSee [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.## Trying SWI-Prolog online
An online version of SWI-Prolog is provided by
[SWISH](https://swish.swi-prolog.org). Note that this version is subject
to sandbox restrictions and does not provide the features most valued in
SWI-Prolog such as its rich set of interfaces, multi-threading, modules,
etc.Alternatively, there is a WASM (_Web Assembly_) version available at
https://wasm.swi-prolog.org/wasm/shell. This version has no sandbox
restrictions. The WASM build allows interaction with the browser's
DOM, so it allows for interactive Prolog applications running _inside_
the browser. It is otherwise rather limited though.## Forum/mailing list
Our forum is hosted at a [Discourse
site](https://swi-prolog.discourse.group/). The forum provides a mail
list interface.## Documentation
Documentation is available from several locations and in several formats.
- 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.These docs can be searched using `?- apropos("query").`. Help on
a predicate can be disaplayed using e.g., `?- help(append/3).`- A PDF version of the documentation is available from the [download
page](https://www.swi-prolog.org/download/devel)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.