Typed rule evaluation, decision tables and explainable decisions
moon update
moon build --target js
moon run cmd/main --target js -- examples/discount-scenario.json
node _build/js/debug/build/cmd/main/main.js examples/admission-scenario.jsonmoon add 123123213weqw/moon_policyforge@0.10.0import {
"123123213weqw/moon_policyforge" @engine,
"moonbitlang/core/json",
}fn example(request : Json) -> Json raise {
@engine.execute(request)
}echo '{"operation":"check","expression":"amount > \"x\"","schema":{"amount":"number"}}' | \
node _build/js/debug/build/cmd/main/main.js -moon test --target js
moon test --target wasm
moon test --target wasm-gc
moon test --target native # requires a C compiler
moon build --target js
node scripts/check.mjs
node scripts/verify.mjs # everything below in one fail-fast ladder
python -B scripts/reference.py
python -B scripts/scale_check.py
python -B scripts/error_codes.py
python -B scripts/fuzz_diff.py
python -B scripts/fuzz_rules.py
python -B scripts/check_docs.py
node scripts/jsonl_check.mjs
node scripts/smoke.mjs
node scripts/bench.mjsimpl Show for InputErrorpub(all) enum Expression {
Literal(Value)
Variable(String)
Unary(String, Expression)
Binary(String, Expression, Expression)
Call(String, Array[Expression])
}fn digest(text : String) -> StringInstall
Download zipTyped rule evaluation, decision tables and explainable decisions