This also removes the InternalPassAsPointer experiment. This also fixes that u8 values were stores as 32 bits in structs and tuples (but not dynamic arrays since that is special cased as bytes). Also, fixes allocation issue wi th dynamic arrays, it would allocate quadratic amount of memory.
1.8 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.
-
Why is expression_subscript_bytes using a helper method but expression_subscript_static_array is not?
-
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
-
Make prelude more an actual thing
- Merge in compiler.INSTANCES
- Make it less build in - have a environment class of some kind
-
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
-
Filter out methods that aren't used; other the other way around (easier?) only add __ methods when needed
-
Move foldr into type class methods
- Functions don't seem to be a thing on typing level yet?
- Related to the FIXME in phasm_type3?
- Type constuctor should also be able to constuct placeholders - somehow.