primitive-containers-0.3.0: containers backed by arrays

Safe HaskellNone
LanguageHaskell2010

Data.Dependent.Map.Internal

Synopsis

Documentation

newtype Map karr varr (k :: u -> Type) (v :: u -> Type) Source #

Constructors

Map (Map karr varr (Apply k Any) (v Any)) 

empty :: (Contiguous karr, Contiguous varr) => Map karr varr k v Source #

null :: forall karr varr k v. Contiguous varr => Map karr varr k v -> Bool Source #

singleton :: forall karr varr k v a. (Contiguous karr, Universally k (Element karr), Contiguous varr, ApplyUniversally v (Element varr)) => k a -> v a -> Map karr varr k v Source #

lookup :: forall karr varr k v a. (OrdForallPoly k, Contiguous karr, Universally k (Element karr), Contiguous varr, ApplyUniversally v (Element varr)) => k a -> Map karr varr k v -> Maybe (v a) Source #

fromList :: (Contiguous karr, ApplyUniversally k (Element karr), Universally k (Element karr), Contiguous varr, ApplyUniversally v (Element varr), OrdForallPoly k) => [DependentPair k v] -> Map karr varr k v Source #

fromListN :: (Contiguous karr, ApplyUniversally k (Element karr), Universally k (Element karr), Contiguous varr, ApplyUniversally v (Element varr), OrdForallPoly k) => Int -> [DependentPair k v] -> Map karr varr k v Source #

map :: forall karr varr k v w. (Contiguous karr, Universally k (Element karr), Contiguous varr, ApplyUniversally v (Element varr), ApplyUniversally w (Element varr)) => (forall a. v a -> w a) -> Map karr varr k v -> Map karr varr k w Source #

mapWithKey :: forall karr varr k v w. (Contiguous karr, Universally k (Element karr), Contiguous varr, ApplyUniversally v (Element varr), ApplyUniversally w (Element varr)) => (forall a. k a -> v a -> w a) -> Map karr varr k v -> Map karr varr k w Source #

mapMaybe :: forall karr varr k v w. (Contiguous karr, Universally k (Element karr), Contiguous varr, ApplyUniversally v (Element varr), ApplyUniversally w (Element varr)) => (forall a. v a -> Maybe (w a)) -> Map karr varr k v -> Map karr varr k w Source #

mapMaybeWithKey :: forall karr varr k v w. (Contiguous karr, Universally k (Element karr), Contiguous varr, ApplyUniversally v (Element varr), ApplyUniversally w (Element varr)) => (forall a. k a -> v a -> Maybe (w a)) -> Map karr varr k v -> Map karr varr k w Source #

appendRightBiased :: forall karr varr k v. (Contiguous karr, Universally k (Element karr), Contiguous varr, ApplyUniversally v (Element varr), OrdForallPoly k) => Map karr varr k v -> Map karr varr k v -> Map karr varr k v Source #

append :: forall karr varr k v. (Contiguous karr, Universally k (Element karr), Contiguous varr, ApplyUniversally v (Element varr), OrdForallPoly k, SemigroupForeach v, ToSing k) => Map karr varr k v -> Map karr varr k v -> Map karr varr k v Source #

toList :: (Contiguous karr, Universally k (Element karr), Contiguous varr, ApplyUniversally v (Element varr)) => Map karr varr k v -> [DependentPair k v] Source #

showsPrec :: (Contiguous karr, Universally k (Element karr), ShowForall k, ShowForeach v, ToSing k, Contiguous varr, ApplyUniversally v (Element varr)) => Int -> Map karr varr k v -> ShowS Source #

equals :: (Contiguous karr, Universally k (Element karr), EqForallPoly k, EqForeach v, ToSing k, Contiguous varr, ApplyUniversally v (Element varr)) => Map karr varr k v -> Map karr varr k v -> Bool Source #

compare :: (Contiguous karr, Universally k (Element karr), OrdForallPoly k, OrdForeach v, ToSing k, Contiguous varr, ApplyUniversally v (Element varr)) => Map karr varr k v -> Map karr varr k v -> Ordering Source #

unsafeFreezeZip :: forall karr varr k v s. (Contiguous karr, Universally k (Element karr), Contiguous varr, ApplyUniversally v (Element varr), OrdForallPoly k) => Mutable karr s (k Any) -> Mutable varr s (v Any) -> ST s (Map karr varr k v) Source #

This function is really unsafe. The user needs to use unsafeCoerce to even use it.

toJSON :: forall karr varr k v. (ToJSONKeyForall k, ToJSONForeach v, ToSing k, Contiguous karr, Contiguous varr, ApplyUniversally v (Element varr), Universally k (Element karr)) => Map karr varr k v -> Value Source #

parseJSON :: forall karr varr k v. (FromJSONKeyExists k, ToSing k, OrdForallPoly k, FromJSONForeach v, Contiguous karr, Contiguous varr, ApplyUniversally v (Element varr), Universally k (Element karr), ApplyUniversally k (Element karr)) => Value -> Parser (Map karr varr k v) Source #

foldrWithKey :: forall karr varr k v b. (Contiguous karr, Universally k (Element karr), Contiguous varr, ApplyUniversally v (Element varr)) => (forall a. k a -> v a -> b -> b) -> b -> Map karr varr k v -> b Source #

foldlWithKeyM' :: forall karr varr k v m b. (Contiguous karr, Universally k (Element karr), Contiguous varr, ApplyUniversally v (Element varr), Monad m) => (forall a. b -> k a -> v a -> m b) -> b -> Map karr varr k v -> m b Source #

foldMapWithKey :: forall karr varr k v m. (Contiguous karr, Universally k (Element karr), Contiguous varr, ApplyUniversally v (Element varr), Monoid m) => (forall a. k a -> v a -> m) -> Map karr varr k v -> m Source #

traverseWithKey_ :: forall karr varr k v m b. (Contiguous karr, Universally k (Element karr), Contiguous varr, ApplyUniversally v (Element varr), Applicative m) => (forall a. k a -> v a -> m b) -> Map karr varr k v -> m () Source #

size :: forall karr varr k v. (Contiguous varr, ApplyUniversally v (Element varr)) => Map karr varr k v -> Int Source #