pub fn lka_eval_strict(expr: &str, scope: &dyn LkEnv) -> LkResult<Vec<u8>>
Expand description
Same as lka_eval but accepts bytes outside the range 0x20..0xfe as-is. useful for templating with newlines and utf bytes.
This distinction exists because UTF has a bunch of characters that can hide a surprise - lka_eval input and lka_encode output is only every ascii.
assert_eq!( "abc 🔗🔗".as_bytes() as &[u8], &lka_eval_strict( "abc 🔗🔗" ,())?, );
assert_eq!( "\0\0\0\0\0\0\0\0\0\0\0\0🔗 4036990103".as_bytes() as &[u8], &lka_eval_strict( "[a:🔗] [:🔗/?u]",())?, );