Jonathan Lindegaard Starup
Jonathan Lindegaard Starup
abort should probably have handleWithResult and handleWithCrash?
After discussion with Matt, i think that we should change it like so: - We add a kind `Region` that replaces `Eff` (e.g. `Array: * -> Region -> *`) -...
> If we have Heap[r1] and Heap[r2] where **both** are rigid then we know they are disjoint. No? Any given rigid variables can be the same, whether it's a type/effect/region....
yeah, because `r1` and `r2` are constants, `r2` cannot unify with `r2 - r1` in the call to parRun
just theoretical from my side, maybe the first step is to see if it happens. unconstrained effects would be pretty rare, so unbound contravariant effects probably more so
I think ``` def example(x: Int32): Int32 \ ~ef = checked_ecast(x) def main(): Int = let _ = _ -> example(42); 42 ``` Will be made to have the universe...
Oh and also, you HAVE to pick pure, because of this bug #10313
The lookup cannot be resolved (because of the free type variable) so ` Constructor(JLabel, String, t0)` is never resolved. We should just emit a better error when `j0 ~ Constructor(JLabel,...
@magnus-madsen I've briefly written up the "pretend to be closure to the outside" and the "pretend to be def on the inside" solutions to local def lifting
@magnus-madsen here is a version 0 of the new monomorpher - ready for optimized enums