reroute-0.3.1.0: abstract implementation of typed and untyped web routing

Safe HaskellNone
LanguageHaskell2010

Data.PolyMap

Documentation

data PolyMap c f a Source

Instances

Functor f => Functor (PolyMap c f) 
Alternative f => Monoid (PolyMap c f a) 

rnfHelper :: (forall p. c p => f (p -> a) -> ()) -> PolyMap c f a -> () Source

lookup :: Typeable p => PolyMap c f a -> Maybe (f (p -> a)) Source

lookupApply :: (Typeable p, Functor f) => p -> PolyMap c f a -> Maybe (f a) Source

lookupApplyAll :: Functor f => (forall p. c p => Maybe p) -> PolyMap c f a -> [f a] Source

lookupConcat :: (Monoid m, Functor f) => (forall p. c p => Maybe p) -> (forall p. c p => p -> f (p -> a) -> m) -> PolyMap c f a -> m Source

alter :: (Typeable p, c p) => (Maybe (f (p -> a)) -> Maybe (f (p -> a))) -> PolyMap c f a -> PolyMap c f a Source

updateAll :: (forall p. c p => f (p -> a) -> g (p -> b)) -> PolyMap c f a -> PolyMap c g b Source

insertWith :: (Typeable p, c p) => (f (p -> a) -> f (p -> a) -> f (p -> a)) -> f (p -> a) -> PolyMap c f a -> PolyMap c f a Source

unionWith :: (forall p. c p => f (p -> a) -> f (p -> a) -> f (p -> a)) -> PolyMap c f a -> PolyMap c f a -> PolyMap c f a Source

union :: Alternative f => PolyMap c f a -> PolyMap c f a -> PolyMap c f a Source

zipWith' :: (forall p. c p => Maybe (f (p -> a)) -> Maybe (f (p -> b)) -> Maybe (f (p -> d))) -> PolyMap c f a -> PolyMap c f b -> PolyMap c f d Source

zipWith :: Applicative f => (a -> b -> d) -> PolyMap c f a -> PolyMap c f b -> PolyMap c f d Source

zip :: Applicative f => PolyMap c f a -> PolyMap c f b -> PolyMap c f (a, b) Source

ap :: Applicative f => PolyMap c f (a -> b) -> PolyMap c f a -> PolyMap c f b Source