This is a draft to give you an idea of the structure I am thinking of. It also contains the changes to Fcf that removes the exports of Fcf.Combinators. I left in the ones that won't class and renamed <=< to . (This was based on @gspia idea).
Let me know what you think.
Todo:
[ ] missing infixr for <*> and others
[ ] Applicative
[ ] Change type signatures so you can write f <$> b <*> c <*> style
[ ] Tests
[ ] Utility Functions
[ ] Monad
[ ] Change type signatures to compose nicely a >> b >> c and a >>= f >>= f2 or a >>= ((>>=) b . f)
[ ] Tests
[ ] Utility Functions
[ ] Traversable
[ ] See if we want to change type signature
[ ] Add Monad dependency (needs to factor out Fcf.Class.Monad into Fcf.Class.Monad.Internal)
This is a draft to give you an idea of the structure I am thinking of. It also contains the changes to
Fcf
that removes the exports ofFcf.Combinators
. I left in the ones that won't class and renamed<=<
to.
(This was based on @gspia idea).Let me know what you think.
Todo:
f <$> b <*> c <*>
stylea >> b >> c
anda >>= f >>= f2
ora >>= ((>>=) b . f)
Fcf.Class.Monad
intoFcf.Class.Monad.Internal
)