
In the TypeCompose package there is the O data type for composing two applicative functors http://hackage.haskell.org/packages/archive/TypeCompose/0.6.4/doc/html/Contr... However I hesitate to import this package because of a lot of needed type extensions. But since 'O' seems to be the canonical way for combining two functors, could we add it to Control.Applicative?

The problem is that is more than one way to compose two applicative functors! If one is a pointed functor and the other is a monad, then there are at least 3 different forms of distributive laws that might be used to compose them to obtain a monad (and as a side effect, obtain an applicative) in addition to the closure of applicative functors under composition. I would strongly advise against enshrining applicative/applicative composition directly in Control.Applicative. If you want to place it in something off to the side like Control.Applicative.Composition, then by all means. -Edward Kmett. On Wed, Jun 17, 2009 at 5:33 PM, Henning Thielemann < lemming@henning-thielemann.de> wrote:
In the TypeCompose package there is the O data type for composing two applicative functors
http://hackage.haskell.org/packages/archive/TypeCompose/0.6.4/doc/html/Contr...
However I hesitate to import this package because of a lot of needed type extensions. But since 'O' seems to be the canonical way for combining two functors, could we add it to Control.Applicative? _______________________________________________ Libraries mailing list Libraries@haskell.org http://www.haskell.org/mailman/listinfo/libraries

Am Mittwoch, 17. Juni 2009 23:33 schrieb Henning Thielemann:
In the TypeCompose package there is the O data type for composing two applicative functors
http://hackage.haskell.org/packages/archive/TypeCompose/0.6.4/doc/html/Contr...
However I hesitate to import this package because of a lot of needed type extensions. But since 'O' seems to be the canonical way for combining two functors, could we add it to Control.Applicative?
This doesn’t seem to be a good idea in my opinion. The reason is that O is useful in other areas. Why should it be defined in Control.Applicative? Best wishes, Wolfgang
participants (3)
-
Edward Kmett
-
Henning Thielemann
-
Wolfgang Jeltsch