Swi-prolog

  1. Swi-prolog For Linux
  2. Swi-prolog Editor
  3. Swi-prolog Python
  4. Swi-prolog Json
  5. Swi-prolog Editor
  6. Swi-prolog Pdf Documentation
38,695 downloadsUpdated: August 4, 2021BSD License

SWI-Prolog examples. This directory provides examples for the SWI-Prolog built-in predicates as well as the library. Examples are PlDoc files with the following properties: The file extension is.md. The file name can be the predicate name, optionally followed by the arity, e.g., append3.md or halt.md. Without an arity it associates to a. 1 Running a Prolog program. Running a Prolog program involves. Creating a file containing the program. Saving the file. Loading the file into Prolog (called compiling, consulting, or reconsulting, the file in Prolog jargon) finally, calling some goal defined in the program. The version of Prolog we will be using is one which runs on a variety.

A comprehensive Prolog environment that comes with advanced debugging features, code tracing and a set of specialized instructions that you can use

What's new in SWI-Prolog 8.3.28-1 Development:

  • DOC: absolute_file_name/2. Issue#871
  • MODIFIED: absolute_file_name/3 to return directories if the requested access is none and no file type is specified as regular or directory.
Read the full changelog Swi-prolog

SWI-Prolog provides you with a comprehensive and robust development environment for the Prolog logic programming language, which is intended for computational linguistics and artificial intelligence applications.

Relying on a Prolog virtual machine to define instructions, SWI-Prolog features a faster compiler and the debugging mode only reduces the system speed by a bit.

Swi-prolog For Linux

The application comes with a flexible and intuitive interface that enables you to work with C / C++ code, providing support for large applications and unlimited integer values without lowering performance.

Both static and dynamic code can be easily indexed on any argument, while the source-level debugger supports graphics through XPCE.

SWI-Prolog bundles a Prolog cross-referencer, an execution profiler to output instruction statistics, as well as an error checking tool. The package also includes a collection of libraries that programmers can find useful, namely components for constraint handling rules, interface libraries, HTML, RDF and XML parsers, a web server library for session management, HTML and HTTP authorization endeavors and so on.

The advanced debugging feature set comprises a spy point editor, an exception debugger, a thread monitor and a dependency management tool.

The program provides support for unicode character sets, which makes it suitable for creating web-based and multilingual applications.

Multi-threading support (run multiple prolog engines on the same database), compiled code tracing, a set of specialized instructions and built-in predicates, attributed and global variables, unit testing using PiDoc, support for creating LaTeX documentation are other advantages that this application brings you.

Featuring high compilation speed, SWI-Prolog can be of great use for Prolog programmers. Its array of features are enough to please the experienced users, since advanced programming knowledge is required in order to use it.

Filed under

SWI-Prolog was reviewed by Mihaela Teodorovici
4.0/5
Load comments
This enables Disqus, Inc. to process some of your data. Disqus privacy policy

SWI-Prolog 8.2.4-1 / 8.3.28-1 Development

add to watchlistsend us an update
6 screenshots:
runs on:
Windows 10 32/64 bit
Windows 8 32/64 bit
Windows 7 32/64 bit
Windows Vista 32/64 bit
Windows XP 32/64 bit
file size:
10.9 MB
filename:
swipl-8.2.4-1.x86.exe
main category:
Programming
developer:
visit homepage

top alternatives FREE

top alternatives PAID

Note: This is a topic for adding links to useful Prolog information for any one to find.
If you have Trust level: Basic you can add to this list by clicking on the edit icon in the lower right.

Note: Do not reply to this topic; questions, concerns, comments, etc. are to be handled in
Wiki Discussion: Useful Prolog references

References

SWI-Prolog Contributors

SWI-Prolog Getting Started

SWISH - A popular playground for learning SWI-Prolog online. Only requires an internet browser. If you know Jupyter for Python, then think SWISH for SWI-Prolog.

StackOverflow Prolog tag contains links to many Prolog implementations and free Prolog books.

Learn Prolog Now is a popular site for learning Prolog.
SO Documentation - Prolog Language
A test variation of Learn Prolog Now using SWISH.
Notes/Answers created by others using LearnPrologNow on GItHub

SO Documentation for Prolog. - StackOverflow had a documentation facet for tags for a while then discontinued it. The documentation Prolog was moved to

Cheat Sheet

Prolog Cheat Sheet by Musa Al-hassy
Tips for CHR Programming Compiled by Amira Zaki, Thom Fr¨uhwirth, Jon Sneyers

Newsletter (Free)

Books

Online

The Power of Prolog is a great online book (with some video links) explaining prolog from the ground up, including DCGs and Constraint Logic Programming; it is very good.
Simply Logical: Intelligent Reasoning by Example
By George F. Luger (site)

PDF

“The Art of Prolog” By Leon S. Sterlingand and Ehud Y. Shapiro (site) (free pdf)
“Prolog and Natural-Language Analysis” by Fernando C. N. Pereira and Stuart M. Shieber (site) (free pdf)
Covingon, Michael (1997). Prolog Programming in Depth (pdf) (source code)
Covingon, Michael (1994) Natural Language Processing for Prolog Programmers (pdf) (source code)
Spivey, Michael (1996) Introduction to Logic Programming Through Prolog (link)

Classics

(Ordered by skill level from beginner to expert)

Prolog Programming for Artificial Intelligence (4th Edition) by Ivan Bratko (WorldCat)
Programming in Prolog by W F Clocksin and C S Mellish (WorldCat)
The Art of Prolog - advanced programming techniques by Leon S Sterling, Ehud Y Shapior and David H D Warren (WorldCat)
The Craft of Prolog by Richard A O`Keefe (WorldCat)

Free

Free Programming Books - Prolog

Non-book resources

Markus Triska’s YouTube channel “The Power of Prolog” which go together with the site “The Power of Prolog”. Starting with “Logical Foundations of Prolog”:

The Stanford Encyclopedia of Philosophy has excellent overview articles:

  • …and thereunder Logic Programming
  • Visualizing SEP is an interactive visualization and search engine for exploring the Stanford Encyclopedia of Philosophy beautifully and powerfully.

Prolog reference manuals

Often contain useful examples

SWI-Prolog (HTML)
SICStus Prolog (HTML, PDF)
Quintus Prolog (HTML, PDF)
Ciao (HTML)
YAP (HTML)
ECLiPSe (HTML, PDF links on page)
GNU Prolog (HTML, PDF)
Barry’s Prolog (PDF)
IF/Prolog (PDF)
Picat (PDF|HTML)
B-Prolog (PDF)
Logtalk (HTML, other formats)
ProbLog (HTML)

Sites hosting research papers for download

Free

  • Microsoft Academic Search AKA MAS
  • The open archive HAL

Professional organizations

require membership fee

Sites hosting bibliography

  • DBLP - The dblp computer science bibliography provides open bibliographic information on major computer science journals and proceedings.

Searching Internet for research papers - tips

  1. Add pdf as a keyword as it dramatically improves finding the paper if it is indexed by the search engine and avialble as a PDF.
  2. Some times the paper is not indexed by a search engine because the paper is stored on the public site of a professor but robots.txt excludes indexing personal pages. So if you know the author(s), go to their school site, search for the author, find their personal pages and manually search them. This has a low probably of working, but does sometimes work when Google or such fails.

SWI-Prolog predicate documentation

The SWI-Prolog library

Example: append/3


To see the source code for a specific predicate click on (link)

Locating a library with a specific book

WorldCat - If you fill in your location on the page, it will show libraries near you where the book can be found, includes university libraries. Also includes places where you can purchase the book if desired, including out of print and used books.

Papers

Publications about SWI-Prolog
Unification theory
Intro to Web Prolog for Erlangers
Logical Loops
Use of Prolog for developing a new programming language and A History of the Erlang VM
Negation as failure
Definite Clause Grammars for Language Analysis --A Survey of the Formalism and a Comparison with Augmented Transition Networks
The Computational Power and Complexity of Constraint Handling Rules by Jon Sneyers, Tom Schrijvers, and Bart Demoen

Libraries

SWI-Prolog Built-in Predicates
SWI-Prolog Library
SWI-Prolog Packages
SWI-Prolog Packs

pengines 0.1.8 - A simple python library for interacting with SWI-Prologs Pengines - Note: This is not the more common use of the word Pengines.

Swi-prolog Editor

Code repositories

RosettaCode has examples of lots of simple programming task implemented in many programming languages. If you know one programming language, you can often find the same implementation in another language. Prolog tasks.

GitHub

Listing of all GitHub repositories with Prolog Code (ref)

Individuals by alphabetical order of last name
GitHub repositories by Wouter Beek
GitHub repositories by Carlo Capelli
GitHub repositories by James Cash
GitHub repositories by Michael Hendricks
GitHub repositories by Raivo Laanemets
GitHub repositories by Peter Ludemann
GitHub repositories by Falco Nogatz
GitHub repositories by Anne Ogborn
GitHub repositories by Fabrizio Riguzzi
GitHub repositories by TeamSPoon
GitHub repositories by Markus Triska
GitHub repositories by Jan Wielemaker

Swi-prolog Python

GitHub repositories for Blog-Core
GitHub repositories for The Ciao Programming Language
GitHub repositories for Logtalk by Paulo Moura
GitHub repositories for TerminusDB

Art of Prolog Code - The source code from the book “Sterling, Leon, and Ehud Y. Shapiro. The art of Prolog: advanced programming techniques. MIT press, 1994. APA”, by Noah Evans
Brachylog - is a declarative logic programming language much like Prolog. Brachylog is designed to be much terser than Prolog, while retaining some readability, by Julien Cumin
Embeddable λProlog Interpreter by Enrico Tassi
My SWI-Prolog page (GitHub) by Hakan Kjellerstrand
Learn Prolog Now Exercises by Peter Urbak
Prolog by Samer Abdallah
The Prolog GraphPlan Project - The Graphplan algorithm is an automatic planning algorithm that can compute, given a set of rules, a plan of action to go from an initial state to a final state, by Pierre Andrews
Toki Pona Parser - A Tool for Spelling, Grammar Check and Ambiguity Check of Toki Pona Sentences, by jan Lope
Thea2 - A collection of modules for parsing and manipulating OWL2 ontologies in Prolog, by Vangelis Vassiliadis
CMU Prolog Repository - This is some very old Prolog code but sometimes older code is easier to understand.
“Public-domain Prolog library” - Another collection of older Prolog code and libraries (1992-2010), by Jocelyn Ireson-Paine

Katas

Applications making use of Prolog

Pengines - Web Logic Programming made easy
Pharos Static Binary Analysis Framework (GitHub) (YouTube)
Gerrit Code Review - Uses Prolog for rules
PRESS: PRolog Equation Solving System
ConceptBase.cc - A System for Metamodeling and Method Engineering

History

Prolog and Logic Programming Historical Sources Archive - This is a gold mine if you want to see the history of different Prolog implementations with archived code included.

Papers:

  • The birth of Prolog by Alain Colmerauer and Philippe Roussel (PDF) (1992)
  • History of Logic Programming by Robert Kowalski (page with download link) (2014)
  • 1983–1993: The Wonder Years of Sequential Prolog Implementation by Peter Van Roy (page with download link) (1993)
  • The Early Years of Logic Programming by Robert Kowalski, (PDF), appeared in “Communications of the ACM” January 1988

IDEs

PceEmacs - SWI-Prolog built-in editor

Prolog Development Tools (ProDT) for the Eclipse IDE

SPIDER, the SICStus Prolog IDE based on Eclipse

Logtalk plugin for IntelliJ IDEA

Howto guides/Tutorial

Swi-prolog Json

By Anne Ogborn

By Robert Laing

The above are notes from developing a chess player at http://www.newsgames.biz/chess and a draughts player at http://www.newsgames.biz/draughts which are still work in progress, so the guides are also improving gradually.

SWI-Prolog Discourse categories

Algorithms

Swi-prolog Editor

Dictionary of Algorithms and Data Structures
The Stony Brook Algorithm Repository
StackOverflow tag Language Agnostic - Contains Free Language Agnostic Programming Books

Swi-prolog Pdf Documentation

Other