Type state analysis
Paul Backus
snarwin at gmail.com
Sun Mar 17 15:35:40 UTC 2024
On Sunday, 17 March 2024 at 06:51:23 UTC, Richard (Rikki) Andrew
Cattermole wrote:
> Latest:
> https://gist.github.com/rikkimax/eed86a7061445a93f214e41fb6445e40
> Current:
> https://gist.github.com/rikkimax/eed86a7061445a93f214e41fb6445e40/a8fffb5725904c6f5d74052d9c974a8f5d453fb0
Yet another proposal for a humongous language feature to solve a
problem that can already be solved without it.
It is possible to achieve temporal safety in D already with
`scope` (DIP 1000) and `@system` variables (DIP 1035). The
ergonomics are not great, but they can be improved (e.g., with
built-in move-on-last-use).
This proposal specifically has the same problem as `@live`: it
splits `@safe` code into separate "new `@safe`" and "old `@safe`"
dialects, which are mutually incompatible.
The ideas themselves are not terrible. I would be interested to
see what this looks like implemented in a research language. But
I do not think it has any place in D.
More information about the dip.ideas
mailing list