The design of this language should be guided by the following objectives:
- Easy to implement auto-complete
- Easy to parse
- Easy to typecheck
- Easy to create DSL
- Easy to format
- simple grammar
- Easy to implement LSP features (go-to-definition etc.)
- Fast to compile
- Debuggable (stacktrace!)
- Huge standard library (to minimize code standard fragmentation)
- Built-in tools (testing, formatting, lint, etc)