ekmett / free

free monads
http://hackage.haskell.org/package/free
Other
160 stars 65 forks source link

Split this package #166

Open treeowl opened 6 years ago

treeowl commented 6 years ago

Some if not all of the .Class modules have very few dependencies. For example, Control.Monad.Free.Class only depends on transformers. But depending on free means pulling in profunctors, semigroupoids, and so on.

ekmett commented 6 years ago

This proposal isn't without real costs.

Splitting the package up makes it harder to iterate on across the boundary.

It makes it slightly harder for users to use as users now need to import two packages, or we have to re-export modules.

And it makes it harder to discover your way around as with the classes in the file its easy to see all of the instances of MonadFree in the haddocks. If the class is in another package they won't get that summary.

I'm inclined to treat this as a WONTFIX feature request.