4 releases (breaking)

Uses new Rust 2024

new 0.4.0 Apr 16, 2026
0.3.0 Apr 10, 2026
0.2.0 Mar 22, 2026
0.1.0 Mar 17, 2026

#537 in Programming languages


Used in 6 crates (4 directly)

MIT license

1MB
19K SLoC

gollum-wam — Warren Abstract Machine for the Gollum logic engine.

Provides the GWAM instruction set, supporting types, and an IR-to-WAM compiler skeleton.


[![stable pipeline](https://gitlab.com/auksys/gollum/badges/stable/pipeline.svg?key_text=stable)](https://gitlab.com/auksys/gollum/-/pipelines?ref=stable) [![dev/1 pipeline](https://gitlab.com/auksys/gollum/badges/dev/1/pipeline.svg?key_text=dev/1)](https://gitlab.com/auksys/gollum/-/pipelines?ref=dev/1) [![docs](https://docs.rs/gollum/badge.svg)](https://docs.rs/gollum) [![crates.io](https://img.shields.io/crates/v/gollum.svg)](https://crates.io/crates/gollum)

gollum

gollum is a logic system implemented in rust, loosely inspired from Prolog. It stands for Goal-Oriented Logic + Language Understanding Machine or Grounded Open Logic + Language Unified Model.

It is part of a research project on how to combine LLM, Logic Systems and Knowledge Systems.

Command-line usage

The gollum CLI (crates/gollum-cli) provides a lightweight front-end for running queries and an interactive REPL. Example invocations:

  • Run a file and optional query:

    cargo run -p gollum-cli -- run [--step-limit ] [QUERY]

  • Start the REPL (optionally apply a step limit):

    cargo run -p gollum-cli -- --step-limit 1000000 repl

--step-limit sets the per-query WAM instruction cap used by the runtime. The default is gollum_wam::Interpreter::DEFAULT_STEP_LIMIT (10_000_000). Pass usize::MAX to effectively disable the cap (useful for long-running benchmarks).

Example (cryptarithmetic benchmark):

cargo run -p gollum-cli -- run --step-limit 500000000 data\benchmarks\classic\cryptarithmetic.gollum "solve(S, E, N, D, M, O, R, Y)"

The flag is global and can be passed either before or after the subcommand (e.g., gollum --step-limit 1000000 run ... or gollum run --step-limit 1000000 ...).

Dependencies

~9–16MB
~196K SLoC