ekmett / bifunctors

Haskell 98 bifunctors, bifoldables and bitraversables
Other
57 stars 42 forks source link

WrappedBifunctor should have an Applicative instance #97

Open treeowl opened 3 years ago

treeowl commented 3 years ago
instance (Biapplicative p, Monoid a) => Applicative (WrappedBifunctor p a) where
  pure a = WrapBifunctor (bipure mempty a)
  {-# inline pure #-}
  liftA2 f (WrapBifunctor xs) (WrapBifunctor ys) = WrapBifunctor $ biliftA2 mappend f xs ys
  {-# inline liftA2 #-}