- Run files
- Read from stdin
- Add functions
- Add void value
- Call stack and scopes
- Ifs
- Fix lexical scope
- Loops
- bind operator
- Throw / Catch
- Array access
- mutable state
- fix: b + +a vs a ++ b
- README
- Document Grammar
- More examples
- Goals
- Getting started
- JS Code Gen
- Implment CFG data structures
- Dead code removal
- Static eval all the things
- Inlining
- Add meta functions
- typeof function
- Fix
as_string
vsto_string
on Value - Super basic std lib
- Basic operators
- Better formatting
- REPL Colors
- Regular "function foo() {}" style functions
- Void expressions
- Operator precedence
- Fix operator precedence in more complicated cases
- Reserved words in declarations (void, typeof)
- Multiple semicolons after each other and in stating pos
- Semicolons after block should be optional
- Write custom lexer
- Write custom parser?
- Add types to grammar
- Basic static type checker (just check value variants)
- Record types: just a list of slots
- Type alias (Interface/Traits work by specifiying a type alias.)
- Algebraic types (Option, etc)?
- Literals for arrays
- Literals for maps
- References for complex types / GC
- Equal for complex types