Hi All,
I was wondering, why there isn't a composition operator for applicative functors. Of course it is rather trivial to implement, but it is a useful feature:
{-# LANGUAGE FlexibleInstances, UndecidableInstances #-}
module ApplicativeComposition where
import Control.Applicative
class (Applicative f) => ApplicativeComposition f where
(<.>) :: f (b -> c) -> f (a -> b) -> f (a -> c)
instance (Applicative f) => ApplicativeComposition f where
(<.>) f g = pure (.) <*> f <*> g
Can this be added to later versions of haskell?
Greets,
Edgar