3 ms·
Personally I didn’t do a lot of specific research when I started. I’ve read through the implementations of a few of the ones out on hackage, and a few papers, s
by rebeccaskinner 2y ago
Personally I didn’t do a lot of specific research when I started. I’ve read through the implementations of a few of the ones out on hackage, and a few papers, so the ideas were in the back of my mind. Here are a few papers that might be useful (sorry I don’t have links, I’m just looking through my research directory and copying title names):
- Stitch: The Sound Type-Indexed Type Checker (Functional Pearl) by Richard Eisenberg
- A Criterion for Kan Extensions of Lax Monoidal Functors by Tobias Fritz and Paolo Perrone
- Effect systems revisited—control-flow algebra and semantics by Alan Mycroft, Dominic Orchard, and Tomas Petricek
- Kleisli arrows of outrageous fortune by CONOR McBRIDE
- Parametric Effect Monads and Semantics of Effect Systems by Shin-ya Katsumata
- Unifying graded and parameterised monads by Dominic Orchard and Philip Wadler
For a much more gentle introduction to some of the basic bits like using GADTs to accumulate effect annotations at the type level and building recursive type class instances to traverse them I’d recommend chapter 15 of my own book, Effective Haskell. From the examples in that chapter and the papers I listed I think you’d have everything you need to have a go at it.
- iamwil 2y agoThanks for the detailed response! I'll check it out.