Typestate is a bit closer: it communicates some property where an operation (typically a method invocation) changes the property and hence the typestate. But there isn't necessarily a mechanism that renders the value in the old typestate inaccessible. When there is, then this indeed requires some linearity/affinity ("consuming the object"), but typestate is something built "on top".
Since the death of LtU I don't really know where to learn about interesting new PL work. I try to occasionally read the POPL submissions but there's nothing like HN for PL.
Maybe the Discord is the way to go. The user interface confuses the heck out of me, though. Appreciate the recommendation!
This looks like one giant step forward in that direction. I'll be enthusiastically playing around with Austral, all while hoping these concepts can become standardised, and maybe retrofitted to popular tech by way of design patterns or language features, in the future.
Here is the full proposal: https://gist.github.com/VerdagonModular/9dfc97a3fbed72280019...
Whenever there's a need for complex C API with generics, it's much more pleasant to implement it as a wrapper atop verified ATS C-output rather than C itself.
https://ats-lang.sourceforge.net/DOCUMENT/INT2PROGINATS/HTML...
scythmic_waves•6mo ago
Twey•6mo ago