Jonathan Lindegaard Starup
Jonathan Lindegaard Starup
``` type alias R = { a = Vector[Int32] -> Bool, b = Vector[Int32] -> Vector[Int32] } def f(): Vector[R] = Vector#{ {a = ???, b = Vector#{1, Vector.get(0)}} }...
Instead of implementing lazy in the backend, we should implement it as a Flix thing, using java locks for thread-safety and structs for the memorization. Something a la Channels
``` eff Example { def throw(): Void } ``` parser is stuck (probably since throw is a keyword now)
Dont merge this before #8444 ! move known type checking into the solver instead of being external
This PR will be split into smaller PR Goals: - improve maintainability, reduce invariants, reduce duplication - improve correctness, especially in regards to recursive type properties - make code ready...
Performance - index-based linked-list event queue (for random open-before insert) Auto-Complete - the parser often treats `name.` and `name.e` very differently, this is not good to auto complete after the...
``` def example: Int32 = 32 ``` This parses as though written ``` def example(): Int32 = 32 ```
This correct program ``` enum RefList[t: Type, r: Region](Ref[List[t], r]) def f(rl: RefList[t, r]): Ref[List[t], r] = { let RefList.RefList(v) = rl; v } ``` gives error ``` ca.uwaterloo.flix.util.InternalCompilerException: Unexpected...