- Documentation
- Reference manual
- Packages
- SWI-Prolog BerkeleyDB interface
- Prolog Unit Tests
- SWI-Prolog Regular Expression library
- SWI-Prolog SSL Interface
- STOMP -- a SWI-Prolog STOMP client
- SWI-Prolog Source Documentation Version 2
- Managing external tables for SWI-Prolog
- Redis -- a SWI-Prolog client for redis
- Transparent Inter-Process Communications (TIPC) libraries
- Google's Protocol Buffers Library
- SWI-Prolog binding to GNU readline
- SWI-Prolog YAML library
- SWI-Prolog binding to libarchive
- A C++ interface to SWI-Prolog
- mqi -- Python and Other Programming Languge Integration for SWI Prolog
- Constraint Query Language A high level interface to SQL databases
- SWI-Prolog Semantic Web Library 3.0
- SWI-Prolog Natural Language Processing Primitives
- Paxos -- a SWI-Prolog replicating key-value store
- SWI-Prolog HTTP support
- sweep: SWI-Prolog Embedded in Emacs
- SWI-Prolog binding to BSD libedit
- SWI-Prolog SGML/XML parser
- SWI-Prolog RDF parser
- Pengines: Web Logic Programming Made Easy
- SWI-Prolog binding to zlib
- SWI-Prolog C-library
- SWI-Prolog Unicode library
- SWI-Prolog ODBC Interface
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.