|
|
|
|
|
by Ericson2314
2153 days ago
|
|
Yes I am a huge believer in the algebraic view. That's true even for implementations; I want to see the general ideas implemented as libraries so the implementation isn't an monolith mashing up ideas from various of many papers, but a composition of libraries. Yes, there is a lot of rich stuff in the MLSub thesis which is hard to follow, but the functional perl approach here I also find confusing so there is no attempt to distill the essence of what's going on. Towards the bottom of the accompanying paper (my PDF viewer lags less than my browser!) there is a little bit of theory discussion, but I would like to see more. It would be very good if someone could take some of the tricks here and present them more abstractly. |
|
Sorry to hear that! I guess it depends on your preferences. Personally, I have a pretty "operational" mindset, so I'll find an algorithm easier to understand than its specification in terms of abstract algebra.
The whole thing started when I tried reimplementing MLsub at an MSR hackathon, and found it unnecessarily difficult — all the operational insights had to be painstakingly extracted from the thesis and barely-documented OCaml implementation (like others, I found the paper insufficient to reimplement the approach satisfyingly, for instance see http://gallium.inria.fr/blog/safely-typing-algebraic-effects...). I wrote this paper so other type system implementers wouldn't have to go through it again!