flowlog.c)This file tracks Flowlog’s progress towards ISO/IEC 13211-1 behavior.
This checklist is intentionally self-contained.
Flowlog is primarily validated with:
CONFORMANCE.md)Optional external cross-checks (not required for “ISO Prolog”, but useful in practice):
tpl) and Scryer Prolog for behavioral
comparisons on specific programs/benchmarksISO/IEC 13211-1 describes the language and its built-in predicates, not the interactive top-level UI.
Flowlog targets ISO semantics for:
is/2) and ISO arithmetic
errorsasserta/1,
assertz/1, retract/1, abolish/1,
clause/2, current_predicate/1, …)open/3, close/1,
read_term/3, write_term/3, stream selection,
…)current_prolog_flag/2,
set_prolog_flag/2) including ISO error behavior for invalid
valuesThe REPL behavior is designed to be test-friendly and scriptable:
; prompt).[file].) for
loading one or more files (a top-level convenience; not part of
ISO).These are UI choices and do not affect ISO program semantics inside a loaded program.
Flags implemented by current_prolog_flag/2 +
set_prolog_flag/2 include:
unknown (error|warning|fail)occurs_check (true|false)char_conversion (on|off)double_quotes (atom|codes|chars)character_escapes (true|false)debug (on|off)Read-only informational flags include:
boundedmax_arityinteger_rounding_functionFlowlog adds parallelism controls via Prolog flags (the default is
flowlog_parallel_profile=fast):
flowlog_parallelflowlog_parallel_profileflowlog_parallel_or,
flowlog_parallel_or_order,
flowlog_parallel_or_nestingflowlog_parallel_andflowlog_parallel_max_depthSee PARALLELISM.md for
details.
If you hit conformance surprises, start here:
consult/1 or
[user]. clause mode) may be absent even if the ISO core is
correct.PREDICATES.md.