(
data Free f a
= Pure a
| Free (f (Free f a))
то правильно ли я для этой хуйни написал аппликатив:
instance Functor f => Applicative (Free f) where
(Pure f) <*> fa = f <$> fa
(Free fx) <*> fa = Free ((<*> fa) <$> fx)
?
Size: a a a
(
data Free f a
= Pure a
| Free (f (Free f a))
instance Functor f => Applicative (Free f) where
(Pure f) <*> fa = f <$> fa
(Free fx) <*> fa = Free ((<*> fa) <$> fx)
(
(
YE
DM
data Free f a
= Pure a
| Free (f (Free f a))
instance Functor f => Applicative (Free f) where
(Pure f) <*> fa = f <$> fa
(Free fx) <*> fa = Free ((<*> fa) <$> fx)
ὦ
A
DM
V
Oℕ
DM
Oℕ
λ
λ
DM
Oℕ
AT
R
Oℕ