ekmett / semigroupoids

Home Page:http://hackage.haskell.org/package/semigroupoids

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Make semigroupoids depend on bifunctors, not the other way around

RyanGlScott opened this issue · comments

bifunctors originally depended on semigroupoids, but this dependency should be inverted to allow bifunctors to build on earlier versions of base. To this end, Bifoldable1 and Bitraversable1 should be migrated to semigroupoids.

This is part 2 of issue #20 from bifunctors.

I'm currently resolving the cycle I need between the modules for Apply, Biapply and Bind. I have to smash them all into one module and then peel out part of them into each of the public interfaces. I'll have a similar internal module to resolve cycles for Foldable1 and Bifoldable1, with another for Traversable1 and Bitraversable1.

This will let me avoid introducing orphans.

It looks like this has been resolved with the release of bifunctors-5 and semigroupoids-5, so I'll go ahead and close this issue. Thanks a bunch!