phasm/TODO.md
Johan B.W. de Vries 1bcd7cba30 Implements sum for Foldable types
Foldable take a TypeConstructor. The first argument must be a
NatNum.
2025-05-10 19:51:24 +02:00

1.9 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

  • 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?

  • 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?

  • Parser is putting stuff in ModuleDataBlock

    • Surely the compiler should build data blocks
  • 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.