Previously, it was hardcoded at 'compile' time (in as much Python has that). This would make it more difficult to add stuff to it. Also, in a lot of places we made assumptions about prelude instead of checking properly.
1.5 KiB
TODO
-
Decide between lineair types / uniqueness vs garbage collector
-
Rename constant to literal
-
Implement a trace() builtin for debugging
-
Check if we can use DataView in the Javascript examples, e.g. with setUint32
-
Implement a FizzBuzz example
-
Also, check the codes for FIXME and TODO
-
Allocation is done using pointers for members, is this desired?
-
See if we want to replace Fractional with Real, and add Rational, Irrationl, Algebraic, Transendental
- Implement q32? q64? Two i32/i64 divided?
-
Does Subscript do what we want? It's a language feature rather a normal typed thing. How would you implement your own Subscript-able type?
- Clean up Subscript implementation - it's half implemented in the compiler. Makes more sense to move more parts to stdlib_types.
-
Have a set of rules or guidelines for the constraint comments, they're messy.
-
calculate_alloc_size can be reworked; is_member isn't useful with TYPE_INFO_MAP
-
Parser is putting stuff in ModuleDataBlock
- Surely the compiler should build data blocks
- Also put the struct.pack constants in TYPE_INFO_MAP
-
Implemented Bounded: https://hackage.haskell.org/package/base-4.21.0.0/docs/Prelude.html#t:Bounded
-
Try to implement the min and max functions using select
-
Implement subscript for dynamic array
- Maybe finally rework it to be a typeclass?
-
Read https://bytecodealliance.org/articles/multi-value-all-the-wasm