Toy programming language to experiment with writing an interpreter.
Next maybe in this repo, maybe in new ones:
- LSP server
- treesitter integration
- Static types
- Compiler? maybe
- Garbage collection
Build generated code. Note: must have antlr installed and aliased to antlr4
./build.shRun tests
go test -v ./...Run interpreter
go run .
# or
./build/ilang
# debug mode
./build/ilang -dWrappedValue type- has map children with child bindings
- implemented by all primitives
update current to use wrapped valueparse and impl array and mapparse and impl reassignmentsparse and impl returnimplement algebra, conds, boolean algimplement control flowrefactor value typesfunction definition typeimplement function callcommand line with file and interactive modemap/array indexinghandle early returns- try/catch/throw
- custom error stat https://stackoverflow.com/questions/18132078/handling-errors-in-antlr4
- imports/exports
- standard functions on wrapped value
- simple package manager (un-versioned git repo curls? maybe)