josie-core
Core runtime for JOSIE (JSON Omni Safe Interactive Expressions).
josie-core provides:
- Tree expression evaluation (
["op", ...args]) - Pipeline document parsing/validation/compilation
- Fast execution tiers with semantic fallback guarantees
- Host extension points (custom operators and typed host callbacks)
Operator Surface (Core)
- State:
var,set,get - Sequence:
do,pipe - Math:
+,-,*,/,% - Compare:
==,!=,>,<,>=,<= - Boolean:
&&,||,! - Flow:
if,match - Collections:
map,filter,len,push - Functions:
def,call - Utils:
u.concat,u.lower,u.upper,u.contains,u.template,u.to_int,u.to_float,u.to_string,u.trim,u.str_len - Event helpers:
w.event.value,w.event.key,w.event.prevent - Extension namespace:
x.*(host-defined)
Hello World
use ;
use json;
let mut state = new;
let operators = new;
let expr = json!;
let mut ctx = Context ;
let out = evaluate?;
assert_eq!;
# Ok::
Inject Custom x.* Operator
use ;
use ;
let mut operators = new;
operators.register;
let mut state = new;
let expr = json!;
let mut ctx = Context ;
let out = evaluate?;
assert_eq!;
# Ok::
Pipeline Execution (Compile Once, Execute Many)
use ;
use ;
use json;
let doc = json!;
let parsed = parse_program?;
let compiled = compile_program?;
let mut state = new;
let operators = new;
let out = execute_compiled_program?;
assert_eq!;
# Ok::
Crate Docs
- API docs: https://docs.rs/josie-core
- Project site: https://josie-lang.org