Framework for escape set
Richard (Rikki) Andrew Cattermole
richard at cattermole.co.nz
Mon Sep 23 11:11:17 UTC 2024
I think it is time to bump this as there hasn't been any replies in four
days.
Right now, this will be the proposal I'll take to development (some
minor modifications locally).
It solves issues of DIP1000 by:
- Multiple outputs.
- Replace the abomination that is DIP1000 attributes, with clear
differentiation between where to escape to and what the relationship is.
- Inferred attributes.
- Will give better error messages.
- Allow escape set to grow then shrink down before erroring (more code
will be valid, that is valid).
- Tuple-like variables will have their lifetimes of each element tracked
separately.
- Reference counting is describable, and therefore can be made safe, is
unblocked.
All of the above features are things people have had issues with
DIP1000, replacing the framework that the analysis works in should
resolve all of the design level issues with it (at least the ones I can
think of that are reasonable to fix).
It has a nice side effect of offering the framework needed for type
state analysis at very little additional cost to it.
More information about the dip.ideas
mailing list