Conversation

I think tracking regions may be feasible, but it involves a mixture of effects (the actual mutation of stuff) and the coffect annotations, so it needs more work. Static args or multi-staging is definitely on our list to do: I think that the (max,+) semiring over nat+infinity.
1
1
So cool! Yeah I was wondering about that - iirc, separation logic has been used to model Rust's lifetimes as well - is this another way of looking at that? Ie. coeffect is the precondition, and the effect is the postcondition? Or am I a little off here?
1
I'm aware of it thanks :) Rust's effects are more complex, because they involve interactions with the separation of memory, inplace update, and ownership transfer. I have done a bit of work on simpler systems, and want to combine them with coeffects: bentnib.org/dpia.html
1
2