Tag
Kb is a local-first, hyper-relational knowledge base built in Prolog with content-addressable storage, time-travel versioning, and a Raylib-based GUI, developed as a Master's thesis prototype.
Introduces PrologMCP, an open-source server that exposes Prolog as a stateful tool via the Model Context Protocol, enabling LLM agents to delegate reasoning to a symbolic solver. Evaluation shows competitive or superior accuracy on deductive reasoning tasks compared to frontier reasoning LLMs.
This repository provides the electronic version of Hassan Ait-Kaci's book 'Warren's Abstract Machine: A Tutorial Reconstruction', an out-of-print tutorial on the Warren Abstract Machine used for Prolog compilation, now freely available for non-commercial use.
This documentation describes the assertion language in the Ciao Prolog system, which allows annotating code with type and instantiation mode declarations for debugging, testing, optimization, and autodocumentation.
A guide to common pitfalls in Prolog programming, emphasizing the use of pure and declarative constructs over impure ones like cuts, global state, and low-level I/O.
The article explains the conceptual shift required when moving from imperative to declarative programming, using Prolog to illustrate thinking in terms of relations rather than mutable state.
Tips for automating Prolog project releases using a Prolog script to increment versions, commit, tag, and register new pack versions with SWI-Prolog's pack system.
An introduction to Prolog programming using Pokémon type matchups as a motivating example, demonstrating how logic programming can elegantly model relational data.
The article explores the implementation of logic programs using abstract stack machines, detailing how different mode assignments for inference rules (such as addition) translate into state machine transitions for computation.
A blog post by Hillel Wayne detailing his frustrations with the Prolog programming language, including issues with strings, lack of functions, limited data types, and cuts.