flowlog.c)This guide focuses on developing Flowlog in flowlog.c.
make
./flowlogDirect compilation is also supported:
cc -O2 -Wall -Wextra -pthread flowlog.c -lm -o flowlogRun the regression suite and INRIA ISO suite from this directory:
make test
make test-inriaTo ensure the bytecode VM (flowlog_engine=wamvm) runs
the ISO suite without falling back to wam,
run:
make test-inria-wamvm-vmonlyflowlog.c — the entire
runtime (single-file build)Makefile — minimal build
rules for the binarytests/ — regressions and ISO
suite runnersREADME.md and
*.md — user and developer documentationIn the full repository checkout, benchmark scripts live under ../bench/.
Most ISO predicates are implemented as built-ins in the solver’s goal dispatcher.
Suggested workflow:
flowlog.ctests/Even though flowlog.c is a
single file, it helps to keep structure consistent:
#if 0 only temporarily.Enable OR-par logging:
FLOWLOG_DEBUG_ORPAR=all FLOWLOG_DEBUG_ORPAR_LOG=orpar.log \
./flowlog program.pl -g "goal."For CPU-bound problems, perf (Linux) or
pmcstat (FreeBSD) can help identify hot paths in:
The REPL uses termios raw mode when running on a TTY. If
a crash leaves your terminal in a bad state, run:
reset