alloc.init();
context.allocator = alloc.heap_allocator;
- context.temp_allocator = alloc.heap_allocator;
+ context.temp_allocator = alloc.temp_allocator;
context.assert_handler = assert_handler;
argc : Size;
- Compile time conditions
- Only evalutate code blocks that evaluate to be true
- [ ] multiple lvals and compound assignment
+ [X] multiple lvals and compound assignment
a := 2
b := 5
a, b = b, a;
[ ] All code paths return correct value
- [ ] Better checking for casts
+ [X] Better checking for casts
- Checking which things are allowed to cast to/from should be checked in the checker,
not in the wasm generatation
thought to remember that ranges in for-loops and slices are NOT inclusive
on the upper end.
- [ ] Functions should be polymorphic on the size of array parameters. For example,
+ [X] Functions should be polymorphic on the size of array parameters. For example,
foo :: proc (arr: [$N] $T) { ... }
should be polymorphic on both the type of the array elements and the array
size. This would allow for better support for fixed size arrays, as well
There are many different places where the standard API for WASI and JS
backends could be improved. Here are some of the target areas.
- [ ] Rearrange APIs. There is a lot of functionality in the standard libraries,
+ [X] Rearrange APIs. There is a lot of functionality in the standard libraries,
but it isn't organized in a usable way.
- 'core.array' contains a lot of functionality that would also apply to
slices. 'core.slice' should contain this functionality and 'core.array'