typed-eval 0.1.0

A type-safe expression evaluation engine.
Documentation
1
2
3
4
5
6
7
8
9
10
11
use typed_eval::{Compiler, EvalType, Result};

pub fn eval<'a, Ctx, Ret>(input: &str, ctx: &'a Ctx) -> Result<Ret::RefType<'a>>
where
    Ctx: EvalType,
    Ret: EvalType,
{
    let compiler = Compiler::<Ctx>::new()?;
    let compiled_fn = compiler.compile::<Ret>(input)?;
    Ok(compiled_fn(ctx))
}