Open Gurkenglas opened 8 years ago
Foldable would map to a type constructor with one type parameter a and its result isomoprhic to Monoid m => (a -> m) -> m.
Foldable
a
Monoid m => (a -> m) -> m.
Functor, Traversable, Monad, Applicative and Alternative might as well map to () because they do not include a deconstructor.
Functor
Traversable
Monad
Applicative
Alternative
()
Comonad would map to something isomorphic to data FreeComonad a = FreeComonad a (FreeComonad (FreeComonad a))
Comonad
data FreeComonad a = FreeComonad a (FreeComonad (FreeComonad a))
Could you expand?
Foldable
would map to a type constructor with one type parametera
and its result isomoprhic toMonoid m => (a -> m) -> m.
Functor
,Traversable
,Monad
,Applicative
andAlternative
might as well map to()
because they do not include a deconstructor.Comonad
would map to something isomorphic todata FreeComonad a = FreeComonad a (FreeComonad (FreeComonad a))