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
Does anyone know if it's possible to write the following:
** :: (Applicative m, Applicative n) =
m (n (a-b)) - m (n a) - m (n b)
Clearly, if m and n were monads, it would be trivial.
Rereading the original paper, I didn't see much discussion
about such nested app. functors.
Any help
On Mon, Oct 12, 2009 at 6:22 PM, Kim-Ee Yeoh a.biurvo...@asuhan.com wrote:
Does anyone know if it's possible to write the following:
** :: (Applicative m, Applicative n) =
m (n (a-b)) - m (n a) - m (n b)
Clearly, if m and n were monads, it would be trivial.
Rereading the original paper, I
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)
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
fmap (*) :: m (n (a - b)) - m (n a - n b)
so
f ** x = (fmap (*) f) * x
On Mon, Oct 12, 2009 at 9:22 AM, Kim-Ee Yeoh a.biurvo...@asuhan.com wrote:
Does anyone know if it's possible to write the following:
** :: (Applicative m, Applicative n) =
m (n (a-b)) - m (n a) - m (n b)
Clearly, if