2017-10-10 14:20:59 +03:00
|
|
|
# Todo
|
|
|
|
|
|
|
|
## Critical Bugs
|
2017-10-10 14:50:47 +03:00
|
|
|
* Let-forms can return references
|
2017-10-10 14:20:59 +03:00
|
|
|
|
|
|
|
## Big Language Features
|
|
|
|
* Generic data types (apart from Array, which already is)
|
|
|
|
* Tagged unions (also known as "sum types" or "enums")
|
|
|
|
* Lambdas (anonymous functions)
|
|
|
|
* Automatic generation of 'str'-function for struct types and Arrays
|
|
|
|
|
|
|
|
## Smaller Language Features ("niceties")
|
|
|
|
|
2017-10-10 14:50:47 +03:00
|
|
|
## Language Design Considerations
|
|
|
|
* The type of the variable in a set!-form, i.e. (set! &x 10)
|
|
|
|
* 'copy' should probably be a special form, just like 'ref'?
|
|
|
|
|
2017-10-10 14:20:59 +03:00
|
|
|
## Code generation
|
|
|
|
* LLVM backend
|
|
|
|
* Emit #LINE macros in the generated C code
|
|
|
|
|
|
|
|
## Tooling
|
|
|
|
* Built in REPL history (without using rlwrap)
|