Yet Another Compiler
Toy compiler for an awesome language! It will have everything!
- Modules
- Functions and Lambdas (with similar syntax)
- Function overloading
- Extension functions
- Operator overriding
- Type deduction
- Generics
- Tuples
- Deconstruction
- Varargs and Variadic Templates
- Easy const (easy to type, easy to distinguish)
- RAII (Destructors)(inforcement)
- Integrated Build System
- Attributes (compile-time and run-time)
- User defined literals
- Functional:
- Pipe operator!
- Currying
- Tail call optimization
- Union
- Interopability (with at least c/c++)
- Inheritance / Interfaces / Composition(easy)
- Strong and weak aliases
- Explicit jumps (pointers are dangerous and should be signaled as such)
- Data Processing
- Generators
- Iterators
- Streams(lazy)
- Concurrency
- Low Level(Thread, Mutex, Atomic...)
- High Level(Promises, async await?)
- IO
- File System
- Sockets(udp/tcp) -> Http
- Exceptions(low cost)
- Kotlin
- let, run, apply
- it (implicit parameter)
- inline last lambda (creating DSL)
- String interpolation