From 293065c7891e93367f9df859e059beac6167b442 Mon Sep 17 00:00:00 2001 From: widmogrod Date: Tue, 12 Dec 2017 17:08:03 +0100 Subject: [PATCH] Update test method names --- src/Monad/Free2/Free.php | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/Monad/Free2/Free.php b/src/Monad/Free2/Free.php index 597401c..0ccc9dc 100644 --- a/src/Monad/Free2/Free.php +++ b/src/Monad/Free2/Free.php @@ -44,16 +44,21 @@ class Free implements MonadFree * Pure a <*> Pure b = Pure $ a b * Pure a <*> Free mb = Free $ fmap a <$> mb * Free ma <*> b = Free $ (<*> b) <$> ma + * + * ($) :: (a -> b) -> a -> b + * (<*>) :: f (a -> b) -> f a -> f b + * (<$>) :: Functor f => (a -> b) -> f a -> f b * ``` * * @inheritdoc */ public function ap(FantasyLand\Apply $b) { - // Don't know if OK... - return $this->bind(function ($f) use ($b) { - return $b->map($f); - }); + return new self( + $this->f->map(function ($ma) use ($b) { + return $b->map($ma); + }) + ); } /** -- 2.11.0