swipl
Estimated reading time: 3 minutesSWI-Prolog offers a comprehensive free Prolog environment.
GitHub repo: https://github.com/SWI-Prolog/docker-swipl
Library reference
This content is imported from the official Docker Library docs, and is provided by the original uploader. You can view the Docker Hub page for this image at https://hub.docker.com/images/swipl
Supported tags and respective Dockerfile
links
Quick reference
-
Where to get help:
the Docker Community Forums, the Docker Community Slack, or Stack Overflow -
Where to file issues:
https://github.com/SWI-Prolog/docker-swipl/issues -
Maintained by:
the SWI-Prolog community -
Supported architectures: (more info)
amd64
,arm32v7
,arm64v8
-
Published image artifact details:
repo-info repo’srepos/swipl/
directory (history)
(image metadata, transfer size, etc) -
Image updates:
official-images PRs with labellibrary/swipl
official-images repo’slibrary/swipl
file (history) -
Source of this description:
docs repo’sswipl/
directory (history) -
Supported Docker versions:
the latest release (down to 1.6 on a best-effort basis)
What is SWI-Prolog?
SWI-Prolog is a versatile implementation of the Prolog language. Its robust multi-threading, extended data types, unbounded arithmetic and Unicode representation of text allow for natural representation of documents (e.g., XML, JSON, RDF) and exchange of data with other programming paradigms.
How to use this image
Start a REPL
This image can be run directly to obtain an SWI-Prolog environment with most useful modules pre-built. When started without parameters, the SWI-Prolog REPL is launched automatically:
docker run -it swipl
Build an image with your application
It is also useful to build images on top of this base image which rely on SWI-Prolog and provide their own default command:
FROM swipl
COPY . /app
CMD ["swipl", "/app/start.pl"]
This will extract and copy your source files to the image and then set the default command to run your application.
Differences from the SWI-Prolog source distribution
Excluded packages
- jpl - interop with Java is excluded, as Java isn’t included on the image
- xpce - XPCE is excluded, as it’s used only for the GUI platform
Included addins
This image includes several SWI-Prolog addins that are commonly used, complex to build, and require little additional space.
- space
- prosqlite
- rocksdb*
- hdt*
- rserve_client
*excluded from ARM architecture images due to platform constraints
License
View the Simplified BSD license for the software contained in this image.
As with all Docker images, these likely also contain other software which may be under other licenses (such as Bash, etc from the base distribution, along with any direct or indirect dependencies of the primary software being contained).
Some additional license information which was able to be auto-detected might be found in the repo-info
repository’s swipl/
directory.
As for any pre-built image usage, it is the image user’s responsibility to ensure that any use of this image complies with any relevant licenses for all software contained within.