4 ms·
Frank: https://github.com/frank-lang/frank https://github.com/frank-lang/frank
by ithkuil 5y ago
Frank: https://github.com/frank-lang/frank https://github.com/frank-lang/frank
- cies 5y agoSeams stale. The paper is a joy to read though... "Do, be, do, be, do" (those who read it will understand) This paper really opened my eyes for what's possible.
- still_grokking 5y agoFrank 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