- Documentation
- Reference manual
- Packages
- SWI-Prolog Python interface
- SWI-Prolog Semantic Web Library 3.0
- mqi -- Python and Other Programming Languge Integration for SWI Prolog
- Constraint Query Language A high level interface to SQL databases
- SWI-Prolog binding to GNU readline
- SWI-Prolog ODBC Interface
- SWI-Prolog binding to libarchive
- Transparent Inter-Process Communications (TIPC) libraries
- JPL: A bidirectional Prolog/Java interface
- Pengines: Web Logic Programming Made Easy
- Redis -- a SWI-Prolog client for redis
- SWI-Prolog SSL Interface
- Google's Protocol Buffers Library
- SWI-Prolog Natural Language Processing Primitives
- Prolog Unit Tests
- SWI-Prolog Unicode library
- SWI-Prolog YAML library
- SWI-Prolog HTTP support
- SWI-Prolog Regular Expression library
- Managing external tables for SWI-Prolog
- A C++ interface to SWI-Prolog
- SWI-Prolog SGML/XML parser
- sweep: SWI-Prolog Embedded in Emacs
- SWI-Prolog binding to zlib
- Paxos -- a SWI-Prolog replicating key-value store
- SWI-Prolog Source Documentation Version 2
- SWI-Prolog C-library
- SWI-Prolog binding to BSD libedit
- STOMP -- a SWI-Prolog STOMP client
- SWI-Prolog RDF parser
sweep: SWI-Prolog Embedded in Emacs
Eshel Yaronme@eshelyaron.com
Abstract
Sweep is an embedding of
SWI-Prolog in GNU Emacs. It provides an interface for executing Prolog
queries and consuming their results from Emacs Lisp. Sweep further
builds on top of this interface and on top of the standard Emacs
facilities to provide advanced features for developing SWI-Prolog
programs in Emacs.Table of Contents
1 Installation
Installing Sweep requires:
- Emacs 27 or later, and
- SWI-Prolog 8.5.18 or later.
Sweep is available from NonGNU ELPA, to install it simply type in
Emacs M-x package-install RET sweeprolog RET
.
Note that in Emacs prior to version 28, you need to explicitly enable NonGNU ELPA by adding something like the following to your Emacs configuration:
(with-eval-after-load 'package (add-to-list 'package-archives '("nongnu" . "https://elpa.nongnu.org/nongnu/")))
2 Getting started
After installing thesweeprolog
Elisp library, load it into Emacs:
(require 'sweeprolog)
All set! You can now use Sweep for Prolog development and for integrating Prolog into your Emacs Lisp code. For a full description of the different features of Sweep, see the Sweep manual.