phasm/TODO.md
Johan B.W. de Vries b285eb9d05 Removes the special casing for foldl
Had to implement both functions as arguments and type
place holders (variables) for type constructors.

Had to implement functions as a type as well.

Still have to figure out how to pass functions around.
2025-05-17 19:50:59 +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.
  • Read https://bytecodealliance.org/articles/multi-value-all-the-wasm