|
| Generics.MultiRec.HFunctor | | Portability | non-portable | | Stability | experimental | | Maintainer | generics@haskell.org |
|
|
|
|
|
| Description |
| The definition of functorial map.
|
|
| Synopsis |
|
| class HFunctor f where | | hmapA :: Applicative a => (forall ix. Ix s ix => s ix -> r ix -> a (r' ix)) -> f s r ix -> a (f s r' ix) |
| | | hmap :: HFunctor f => (forall ix. Ix s ix => s ix -> r ix -> r' ix) -> f s r ix -> f s r' ix | | | hmapM :: (HFunctor f, Monad m) => (forall ix. Ix s ix => s ix -> r ix -> m (r' ix)) -> f s r ix -> m (f s r' ix) |
|
|
|
| Generic map
|
|
|
| | Methods | | hmapA :: Applicative a => (forall ix. Ix s ix => s ix -> r ix -> a (r' ix)) -> f s r ix -> a (f s r' ix) | Source |
|
| | Instances | |
|
|
| hmap :: HFunctor f => (forall ix. Ix s ix => s ix -> r ix -> r' ix) -> f s r ix -> f s r' ix | Source |
|
| The function hmap takes a functor f. All the recursive instances
in that functor are wrapped by an application of r. The argument to
hmap takes a function that transformes r occurrences into r'
occurrences, for every ix. In order to associate the index ix
with the correct system s, the argument to hmap is additionally
parameterized by a witness of type s ix.
|
|
| hmapM :: (HFunctor f, Monad m) => (forall ix. Ix s ix => s ix -> r ix -> m (r' ix)) -> f s r ix -> m (f s r' ix) | Source |
|
| Monadic version of hmap.
|
|
| Produced by Haddock version 2.4.2 |