Hi Kim-Ee, This pattern shows up in "Applicative programming with effects" in showing that the composition of applicatives is applicative: (<*>) = liftA2 (<*>), and pure = pure.pure . (Really, you have to manage newtype wrappers as well. See the TypeCompose library.)
- Conal On Mon, Oct 12, 2009 at 9:52 AM, Kim-Ee Yeoh <a.biurvo...@asuhan.com> wrote: > > That's it: liftA2 (<*>), so obvious in hindsight. > > Mustn't ... code ... when ... drained .... > > Thanks to Jeremy and Josef. > > > Jeremy Shaw-3 wrote: > > > > This looks like what is described in Section 4 to me: > > > > > http://www.haskell.org/haskellwiki/Applicative_functor#Applicative_transfomers > > > > - jeremy > > > > On Oct 12, 2009, at 11:22 AM, Kim-Ee Yeoh wrote: > > > >> <**> :: (Applicative m, Applicative n) => > >> m (n (a->b)) -> m (n a) -> m (n b) > > > > -- > View this message in context: > http://www.nabble.com/%3C**%3E-for-nested-applicative-functors--tp25858792p25859274.html > Sent from the Haskell - Haskell-Cafe mailing list archive at Nabble.com. > > _______________________________________________ > Haskell-Cafe mailing list > Haskell-Cafe@haskell.org > http://www.haskell.org/mailman/listinfo/haskell-cafe >
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe