| ↑ Home |
| Evaluation feature | implemented? | Effort |
|---|---|---|
| free from memory leak bugs | yes, with help of Rc+automatic drop | medium |
| 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 |
| 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 |
| 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 |