roc/crates/compiler/gen_dev/src/todo.md
Kevin Gillette 0321f91c70
Kevin Gillette: markdown typo fixes
Luke Boswell: move Str.md as it looks more like a design doc than rust crate

Co-authored-by: Luke Boswell <lukewilliamboswell@gmail.com>
2023-04-10 14:07:03 -06:00

17 lines
1.1 KiB
Markdown

# Important things to add (not necessarily in order)
- Expand to way more builtins and assembly calls.
- Deal with function calling, basic layouts, and all the fun basics of argument passing.
- Add floats and some basic operations with them.
- Add some more complex memory layouts and data types.
- Add builtin function creation and calling.
For many builtins, we should only need to create them if they are used as a function pointer.
This may not be know at gen time for the specific function, so we might just have to add them all.
Otherwise, many will always be inlined.
- Add basic const folding? It should be really easy to add as an optimization.
It should be a nice optimization for little cost. Just be sure to make it optional, otherwise our tests will do nothing.
- Automatically build the Zig builtins .o file and make it available here.
We will need to link against it and use it whenever we call specific builtins.
- Add unwind tables and landing pads.
- Add ability to wrap functions with exceptions or return a results.
Will need to start dealing with overflows and such to return errors.