litto provides some building blocks for building scripting languages
that can be embedded in a Rust application or library.
The name comes from
ditto (A Pokémon name).
litto does not define a scripting language in a concrete way.
For example, syntax, types, stdlib can all be customized.
Interpreter for the abstraction.
env::KvEnv: A nested environment that can be used to resolve variables from string name to value.
value::Value: An abstract value that is tracked by a cyclic garbage collector, and supports function calls.
expr::Sexp: S-expression, commonly seen in Lisp-like languages.
Example implementations about environment.
Example implementations about expression.
Example implementations about value.
Macro for creating S-expression.
A lightweight interpreter interface.