Rust-Moss features

Evaluation feature implemented? Effort
unlimited number of local variables yes easy
calling a callback with a new call stack of unlimited size yes easy
dynamic loading yes easy
eval (evaluate a string as Moss code) yes easy
symbolic expressions no easy
running multiple interpreter instances in parallel yes, free of global variables easy
custom destructors taking calling environment no medium
custom hashables taking calling environment no medium
coroutines partial support medium
closure capture by mutable reference instead of cloning no medium
mutual recursion yes easy
mutual recursion of local functions indirection needed easy
Usability features implemented? Effort
default arguments yes easy
named arguments yes easy
named default arguments yes easy
maps as named arguments yes easy
map unpacking, default values yes easy
prohibit leftover arguments in map unpacking yes easy
list unpacking yes easy
list unpacking for arguments yes easy
Safety feature implemented? Effort
memory safety probably safe,
free from unsafe code
hard
internal integer arithmetic overflow checks automatic, optional easy
internal integer cast overflow checks partial cover medium
a strict immutability model no medium
a strict privacy model no medium
sandbox based security model partial support easy
capability based security model no hard
Non-goals implemented? Effort
static typing, hybrid typing no hard
automatic call stack reallocation no drawbacks
native fine grained parallel programming no, global mutex locks n/a
tracing garbage collection no n/a
just-in-time compilation no hard
tracing just-in-time compilation no n/a