IT練習ノート

IT関連で調べたこと(実際は嵌ったこと)を書いています。

pureをControl.Applicative.LiftA0と思う

引数が3個の場合

*> :t liftA3
liftA3
  :: Applicative f => (a -> b -> c -> d) -> f a -> f b -> f c -> f d

引数が2個の場合

*> :t liftA2
liftA2 :: Applicative f => (a -> b -> c) -> f a -> f b -> f c

引数が1個の場合 (あたかもLiftA1)

*> :t liftA
liftA :: Applicative f => (a -> b) -> f a -> f b

引数が1個の場合 (演算子版)

*> :t (<*>)
(<*>) :: Applicative f => f (a -> b) -> f a -> f b

引数が1個の場合 (ApplicativeはFunctorなので)

*> :t fmap
fmap :: Functor f => (a -> b) -> f a -> f b

引数が0個の場合 (あたかもLiftA0)

*> :t pure
pure :: Applicative f => a -> f a