Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (t -> (f1 t, f2 t, f3 t))
- (f1,f2,f3 -> (t -> (f1 t, f2 t, f3 t)))
- (f1,f2,f3,t -> (f1 t, f2 t, f3 t))
- f x = (f1 x, f2 x, f3 x)
- f f1 f2 f3 x = (f1 x, f2 x, f3 x)
- (t -> (f1 t, f2 t, f3 t))
- liftM (,,) f1 `ap` f2 `ap` f3
- (,,) <$> f1 <*> f2 <*> f3
- (f1 f2 f3 -> (t -> (f1 t, f2 t, f3 t)))
- f1 f2 f3 -> (,,) <$> f1 <*> f2 <*> f3
- = f1 f2 -> ((,,) <$> f1 <*> f2 <*>)
- = f1 f2 -> (<*>) ((,,) <$> f1 <*> f2)
- = f1 f2 -> ((<*>) . ((,,) <$> f1 <*>)) f2
- = f1 -> (<*>) . ((,,) <$> f1 <*>)
- = f1 -> (<*>) . (<*>) ((,,) <$> f1)
- = f1 -> (((<*>) .) . (<*>) . (<$>) (,,)) f1
- = ((<*>) .) . (<*>) . (<$>) (,,)
- uncurry (uncurry (,,)) . ((f &&& g) &&& h)
- arrowized :: Arrow cat => cat a a1 -> cat a b1 -> cat a b -> cat a (a1, b1, b)
- arrowized f g h => arr (uncurry (uncurry (,,))) . ((f &&& g) &&& h)
- x -> (f x, g x, h x)
- ap (liftM2 (,,) f g) h
- f1 f2 f3 t -> (,,) (f1 t) (f2 t) (f3 t)
- instance Applicative ((->) a) where -- (a ->) is meant here
- pure = const
- (<*>) f g x = f x (g x)
- liftA3 f a b c = f <$> a <*> b <*> c
- Prelude Control.Applicative> :t liftA3 (,,)
- liftA3 (,,) :: (Applicative f) => f a -> f b -> f c -> f (a, b, c)
- liftA3 (,,) ~ (t->a) -> (t->b) -> (t->c) -> (t->(a,b,c))
- liftA3 (,,) f g h t = ((((,,) <$> f) <*> g) <*> h) t
- = (((,,) <$> f) <*> g) t (h t)
- = (((,,) <$> f) t (g t) (h t)
- = (((,,) . f) t (g t) (h t)
- = (,,) (f t) (g t) (h t)
- = (f t, g t, h t)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement