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)
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.
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