flowlog.c)This documentation set covers Flowlog: a
single-file, single-process ISO-style
Prolog system built from flowlog.c and using
pthreads for parallelism.
Flowlog provides three execution engines:
wamvm (default) — a bytecode VM for compiled clause
bodies (still sharing the same unifier and built-ins as
wam). It can fall back to wam when a
program/query uses unsupported features (or be forced to error via
FLOWLOG_WAMVM_REQUIRE_VM=1). In VM-only mode, it passes the
INRIA ISO suite.wam — a WAM-lite engine for fast execution of most
ISO-style code (including dynamic database and call-by-variant tabling).
It can fall back to the interpreter when required.interp / tree — a direct interpreter
(“tree-walking”) used as the reference/fallback engine.flowlog.c) you can compile with any
reasonably POSIX C toolchain.PARALLELISM.md).QUICKSTART.md — build,
run, and first queryCLI.md — command-line + REPL
referenceUSER_GUIDE.md — writing
and running programs (portable ISO style)PARALLELISM.md —
parallel flags, safety notes, tuningCONFORMANCE.md —
conformance goals and test suitesPREDICATES.md — built-in
predicates, evaluables, and Flowlog extensionsTESTS.md — regression tests
and ISO suite runners (full source bundle)BENCHMARKS.md — benchmark
harnesses and reference programs (full source bundle)TECHNICAL_DETAILS.md —
runtime model, memory/threads/signals, portability notesIMPLEMENTATION.md —
parser, terms, unification, indexing, tabling, OR/AND-par internalsDEVELOPMENT.md —
building, testing, debugging, and contributingTROUBLESHOOTING.md —
common issues (stacks, threading, performance)