Big article about Hierarchical Free Monads, the most developed approach to build real software in Haskell
Thanks for this illuminating reply. I agree that separation of concerns is very valuable, and that the effect frameworks I've mentioned in my question are better than mtl at it. However, would you agree that separation of concerns can also be achieved by other means that these effects frameworks, i.e. using the so-called tagless final style or other blends of free monads, such as for instance hierarchical free monads?
Proposed compiler and language changes for GHC and GHC/Haskell
However, I am an academic/hobbyist user, so I am naturally more inclined to use bleeding edge technologies. And I think a shift will come when delimited continuation primops are implemented in GHC, which will make effect libraries more performant than other approaches. After that there will surely be some time for all effect libraries to adapt and then we'll see which one gets the most traction.
Learn any GitHub repo in 59 seconds. Onboard AI learns any GitHub repo in minutes and lets you chat with it to locate functionality, understand different parts, and generate new code. Use it for free at www.getonboard.dev.
An effect system based on type classes, written in Haskell.
You may also be interested in effet, which is an mtl-like effect system which tries to overcome the limitations of mtl.
Where's more discussion of the designs of effect systems?
4 projects | /r/ProgrammingLanguages | 17 Nov 2021
Haskell doesn't make sense without pure functions
4 projects | /r/haskell | 2 Oct 2021
Monad Transformers and Effects with Backpack
3 projects | /r/haskell | 24 Dec 2020
11 projects | /r/haskell | 6 May 2023
Monad Transformer Compatibility
2 projects | /r/haskell | 17 Feb 2023