Skip to main content

eval_bool

Function eval_bool 

Source
pub fn eval_bool(ctx: &Context, term: &Term) -> Option<bool>
Expand description

Evaluate a closed Bool term to true/false, or None if it does not reduce to a Bool constructor within the fuel budget (fail-safe).

FAST PATH: the decision is first COMPILED to a tree of native closures and run (native_compile_decide) — this handles the full computational fragment (recursion via Fix, pattern matching via Match, δ-unfolding of definitions), so a recursive Bool decision runs as closure calls with no Term-tree walking. Anything the compiler declines falls back to the tree-walking interpreter eval_bool_tree. The two are differential- tested to give IDENTICAL results, so the trusted reduceBool reduction and native_decide both get the compiled speedup with no change in meaning.