S is a small S-expression based language which nevertheless is capable of evaluating itself.
To learn its syntax study the tests.
The main interpreter is written in Rust. Here is the interpreter loop. There is also an interpreter written in s.
To run the tests, use cargo test --release
. They are quite slow, because each
test is executed three times with different layering of interpreters.