Raivo Laanemets. Full-stack freelancer.

Packs

Updated

Here is the list of SWI-Prolog packs that I maintain. The packs should be installed by using URLs directly from http://packs.rlaanemets.com/.

Example:

pack_install('http://packs.rlaanemets.com/alternative-router/arouter-1.1.1.tgz').

Most packs require SWI-prolog version 7.3.x or newer. The packs are versioned using the semantic version system and should remain backwards-compatible in the range of a single major version.

Alternative-router

An alternative router/dispatcher to SWI-Prolog's http_dispatch module. The main motivation for creating this module was more convenient (less verbose) implementation of RESTful web services.

Blog-Core

A CMS/blogging framework for SWI-Prolog.

Installation should be done by installing dependencies first.

Dict-schema

Dict validation/conversion for SWI-Prolog. The library started as a predicate to convert certain dict (from HTTP JSON requests) entries into suitable forms (especially the string/atom conversion). A large part of this library was inspired by JSON-Schema.

Docstore

Document-oriented transactional in-memory database for SWI-Prolog. Documents are represented using dicts and are organized into collections. Each document is assigned an unique identifier ($id) that can be later used to retrieve/update/remove the document.

Markdown

Markdown parser implemented in Prolog.

Rdet

Runtime determinacy checker for SWI-Prolog. Simplifies development and debugging of large non-AI Prolog applications.

Simple-template

Text (HTML) template processor for SWI-Prolog.

Sort-dict

Helper to sort lists of dicts. Obsoleted by sort/4.