
Generics.MultiRec.HFunctor  Portability  nonportable  Stability  experimental  Maintainer  generics@haskell.org 





Description 
The definition of functorial map.


Synopsis 

class HFunctor phi f where  hmapA :: Applicative a => (forall ix. phi ix > r ix > a (r' ix)) > phi ix > f r ix > a (f r' ix) 
  hmap :: HFunctor phi f => (forall ix. phi ix > r ix > r' ix) > phi ix > f r ix > f r' ix   hmapM :: (HFunctor phi f, Monad m) => (forall ix. phi ix > r ix > m (r' ix)) > phi ix > f r ix > m (f r' ix) 



Generic map


class HFunctor phi f where  Source 

 Methods  hmapA :: Applicative a => (forall ix. phi ix > r ix > a (r' ix)) > phi ix > f r ix > a (f r' ix)  Source 

  Instances  


hmap :: HFunctor phi f => (forall ix. phi ix > r ix > r' ix) > phi ix > f r ix > f 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 family phi, the argument to hmap is additionally
parameterized by a witness of type phi ix.


hmapM :: (HFunctor phi f, Monad m) => (forall ix. phi ix > r ix > m (r' ix)) > phi ix > f r ix > m (f r' ix)  Source 

Monadic version of hmap.


Produced by Haddock version 2.4.2 