- Properly parse function types
- Make sure the classic LISP example with pair/car/cdr works
- Support
//
comments - Support double type
- Support boolean type
- Support structs
- Garbage collection
- Implement |> operator
- Support string type
- Type inference
- Allow to define external functions
- For loop
- String indexing
- Library function for reading files
- Command-line arguments
- Unary operators, e.g. unary minus and boolean negation
- Parse counter.inc()
- Move to CMake (https://llvm.org/docs/CMake.html#embedding-llvm-in-your-project)
- Try out some static analysis tools for C++