Portability | non-portable |
---|---|

Stability | experimental |

Maintainer | sjoerd@w3future.com |

Safe Haskell | None |

- fmapADT :: (ADT1 t, Constraints t Functor) => (a -> b) -> t a -> t b
- foldMapADT :: (ADT1 t, Constraints t Foldable, Monoid m) => (a -> m) -> t a -> m
- traverseADT :: (ADT1 t, Constraints t Traversable, Applicative f) => (a -> f b) -> t a -> f (t b)
- pureADT :: (ADT1Record t, Constraints t Applicative) => a -> t a
- apADT :: (ADT1Record t, Constraints t Applicative) => t (a -> b) -> t a -> t b
- bindADT :: (ADT1Record t, Constraints t Monad) => t a -> (a -> t b) -> t b
- mfixADT :: (ADT1Record t, Constraints t MonadFix) => (a -> t a) -> t a

# For all instances

fmapADT :: (ADT1 t, Constraints t Functor) => (a -> b) -> t a -> t bSource

foldMapADT :: (ADT1 t, Constraints t Foldable, Monoid m) => (a -> m) -> t a -> mSource

traverseADT :: (ADT1 t, Constraints t Traversable, Applicative f) => (a -> f b) -> t a -> f (t b)Source

# For datatypes with one constructor

pureADT :: (ADT1Record t, Constraints t Applicative) => a -> t aSource

apADT :: (ADT1Record t, Constraints t Applicative) => t (a -> b) -> t a -> t bSource

bindADT :: (ADT1Record t, Constraints t Monad) => t a -> (a -> t b) -> t bSource

mfixADT :: (ADT1Record t, Constraints t MonadFix) => (a -> t a) -> t aSource