- Values, expresions, functions
- Functional
- Lazy?
- Pattern matching
- Custom types
- No GC if possible
- is
let
needed? - Inspired by Rust, Scala, Haskell, Gleam
- Braces, not indentation
- Tail recursion
- Concurrency? Green threads? Erlang-style (without GC)?
- VM vs Native
- Best VMs
- Bytecode VMs (pros, cons and alternatives)
- !! Standard library for builtin custom types (bool, option, lists?)?
- AST building: tokens to AST? tokens to expressions to AST?
- Branding: ELK? ELG? Taurus?
- Syntax decisions
- Function piping
- Partial application / currying
- Pattern matching
- Destructuring
- Target: Binary? WASM? VM (own (stack vs regs), jvm, beam, ...)?
- AST: Global scope has types, functions, entry point
- Import system
- Side effects
- Traits
- Anonymous functions
- TODO