Open DrSensor opened 11 months ago
Not related to eval-syntax but from the example seems I got a design issues in the implementation detail of rust (and potentially other) binding.
use libnusa::{number, Vector, Null};
#[no_mangle]
fn sepByComma(
list: Vector<Null<number::f32>>
// okay so where to store this temporary value?
// which memory?
// which offset?
) {}
Should I treat it as Buffer 🤔
Expose an eval syntax. Similar to
new Function()
(used by AlpineJS) oreval()
but doesn't expose global variable and Web API. Also no new variable creation a.k.alet
orconst
. No declaration, no statement, no loop. It just an expression. However, it may have ternary operation and range/slice bound.Some ideas:
Operator that exclusive for string, list/array, and vector/matrix are denoted in
[ops]
. There's some ops-syntax borrowed from other lang.concat (inspired by Lua)
same as
scalar add on vector
same as
addition between vector
roughly same as
Note that to enter eval-syntax, the expression should be wrapped in
`()