Episteme.Builtins.Io (Episteme v0.2.0)

Copy Markdown View Source

Minimal I/O: write/1 writeln/1 print/1 nl/0 -- canonical functor(args) text via Episteme.Term.to_text/1 (no operator-aware pretty-printing yet) -- plus format/1,2, a directive-based formatter over the same to_text/1 rendering. Each succeeds exactly once, side effect aside.

format/2's own directive set is deliberately a practical subset, not ISO/SWI's full one -- no column/radix directives (~t, ~|, ~Nr, ...), no numeric-prefixed ~Nd (SWI's "insert a decimal point N digits from the right"). ~w/~p/~q are all the same thing here (to_text/1), since there's no operator-aware or quoted writer to tell them apart with yet -- see write/1's own note above.

Summary

Functions

dispatch(arg1, arg2, arg3)

@spec dispatch(atom(), non_neg_integer(), [term()]) ::
  Ichor.Backtrack.goal() | :not_handled