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

Data.PolyMap

Documentation

data PolyMap (c :: Type -> Constraint) (f :: Type -> Type) 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 => 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 #

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 #

empty :: forall (c :: Type -> Constraint) (f :: Type -> Type) a. PolyMap c f a Source #

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

lookup :: forall p (c :: Type -> Constraint) f a. Typeable p => PolyMap c f a -> Maybe (f (p -> a)) Source #

lookupApply :: forall p f (c :: Type -> Constraint) a. (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 :: forall p (c :: Type -> Constraint) f a. (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 :: forall p (c :: Type -> Constraint) f a. (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 :: forall (f :: Type -> Type) (c :: Type -> Constraint) a. 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 :: forall (f :: Type -> Type) a b d (c :: Type -> Constraint). Applicative f => (a -> b -> d) -> PolyMap c f a -> PolyMap c f b -> PolyMap c f d Source #

zip :: forall (f :: Type -> Type) (c :: Type -> Constraint) a b. Applicative f => PolyMap c f a -> PolyMap c f b -> PolyMap c f (a, b) Source #

ap :: forall (f :: Type -> Type) (c :: Type -> Constraint) a b. Applicative f => PolyMap c f (a -> b) -> PolyMap c f a -> PolyMap c f b Source #