39 lines
1.9 KiB
Markdown
39 lines
1.9 KiB
Markdown
# TODO
|
|
|
|
- Decide between lineair types / uniqueness vs garbage collector
|
|
- https://borretti.me/article/how-australs-linear-type-checker-works
|
|
|
|
- Rename constant to literal
|
|
|
|
- Implement a trace() builtin for debugging
|
|
- Check if we can use DataView in the Javascript examples, e.g. with setUint32
|
|
- Storing u8 in memory still claims 32 bits (since that's what you need in local variables). However, using load8_u / loadu_s we can optimize this.
|
|
- Implement a FizzBuzz example
|
|
- Also, check the codes for FIXME and TODO
|
|
- Allocation is done using pointers for members, is this desired?
|
|
- Functions don't seem to be a thing on typing level yet?
|
|
- static_array and tuple should probably not be PrimitiveType3, but instead subclass AppliedType3?
|
|
- See if we want to replace Fractional with Real, and add Rational, Irrationl, Algebraic, Transendental
|
|
|
|
- test_bitwise_or_inv_type
|
|
- test_bytes_index_out_of_bounds vs static trap(?)
|
|
- test_num.py is probably best as part of the generator?
|
|
- Find pytest.mark.skip
|
|
- There's a weird resolve_as reference in calculate_alloc_size
|
|
- Either there should be more of them or less
|
|
- At first glance, looks like failure in the typing system
|
|
- Related to the FIXME in phasm_type3?
|
|
- WEBASSEMBLY_BUILTIN_BYTES_OPS is special cased
|
|
- Should be part of a prelude (?)
|
|
- In Haskell this is not a type class
|
|
- Casting is not implemented except u32 which is special cased
|
|
- Parser is putting stuff in ModuleDataBlock
|
|
- Compiler should probably do that
|
|
- Make prelude more an actual thing
|
|
- Merge in type3types.LOOKUP_TABLE
|
|
- 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 UnaryOp.operator into type class methods
|
|
- Move foldr into type class methods
|