some
is a tree-walking interpreter I am building to see, understand and
appreciate what happens when we run high-level programs.
There is no special reason for calling my interpreter some
;
I choose it because I can :)
- Simple syntax.
- Variable bindings.
- Data types: integers, booleans.
- Arithmetic expressions.
- Built-in functions (yet to be decided$^*$).
- First class functions.
- Recursion.
- Higher order functions.
- Closures.
- Collection data structures: strings, array, hash tables.