reroute-0.7.0.0: abstract implementation of typed and untyped web routing
Safe HaskellNone
LanguageHaskell2010

Data.PolyMap

Documentation

data PolyMap (c :: * -> Constraint) (f :: * -> *) (a :: *) Source #

Instances

Instances details
Functor f => Functor (PolyMap c f) Source # 
Instance details

Defined in Data.PolyMap

Methods

fmap :: (a -> b) -> PolyMap c f a -> PolyMap c f b #

(<$) :: a -> PolyMap c f b -> PolyMap c f a #

Alternative f => Semigroup (PolyMap c f a) Source # 
Instance details

Defined in Data.PolyMap

Methods

(<>) :: PolyMap c f a -> PolyMap c f a -> PolyMap c f a #

sconcat :: NonEmpty (PolyMap c f a) -> PolyMap c f a #

stimes :: Integral b => b -> PolyMap c f a -> PolyMap c f a #

Alternative f => Monoid (PolyMap c f a) Source # 
Instance details

Defined in Data.PolyMap

Methods

mempty :: PolyMap c f a #

mappend :: PolyMap c f a -> PolyMap c f a -> PolyMap c f a #

mconcat :: [PolyMap c f a] -> 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 #