ivanperez-keera/dunai

`dunai`: Does not build with `transformers-0.6` because of `ListT`

turion opened this issue · 2 comments

The bounds in dunai.cabal suggest that it can successfully build with transformers-0.6, but this is not the case:

src/Control/Monad/Trans/MSF/List.hs:40:1: error:
    Could not load module ‘Control.Monad.Trans.List’
    It is a member of the hidden package ‘transformers-0.5.6.2’.
    Perhaps you need to add ‘transformers’ to the build-depends in your .cabal file.
    Use -v (or `:set -v` in ghci) to see a list of the files searched for.
   |
40 | import Control.Monad.Trans.List hiding (liftCallCC, liftCatch)
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

See also #366, #36, #368 (reply in thread).

Since the ecosystem is moving away from transformers < 0.6, it is quite urgent to find a future-proof replacement for ListT.

I sketched two ways forward: #368 (comment) #368 (comment) Maybe we could choose one and make progress? I'm willing to create a PR.

Here is a package I just created that would supply this approach to ListT with minimal dependencies: https://hackage.haskell.org/package/free-listt

This issue is being discussed in #368.

I'm closing this and the PR for now to avoid duplication. Let's go to the discussion first and then I'll create issues as needed based on the decisions made there.