This is an interpreter for language, called Gordon, based on Ball Thorsten's great Writing An Interpreter In Go book. As I have personal interest in compiler / language design theory, and since this is not my only attempt at writing a full interpreter, I intend on extending the language beyond the one described in the book.
Features and characteristics going beyond the ones described in the book.
- Real numbers with automatic casting
- Caret operator
- Loop (
times (n) { do(something }
) - Lazy evaluation
- "typeof" operator
- Exception throwing and handling
- Algebraic effects (maybe?)
- Etc.