2 ms·
Frank does it right, yes. They use "abilities" as a dual to effects. That's imho the crucial part. Most of the other effect systems only implement half the thi
by still_grokking 5y ago
Frank does it right, yes.
They use "abilities" as a dual to effects. That's imho the crucial part. Most of the other effect systems only implement half the thing.
But I would change two parts: First of all the co-effects should be proper "capabilities" in the sense of "capability security". The other thing would be modelling the co-effects as co-data. They already use some (ad hoc?) notion of "Interfaces". Those look like co-data definitions (resembling OOP Interfaces). I also thing co-data with co-pattern matching could solve some of the problems mentioned at the end of the paper. Inspiration could be taken form: https://www.cs.uoregon.edu/Reports/DRP-201905-Sullivan.pdf https://www.cs.uoregon.edu/Reports/DRP-201905-Sullivan.pdf