Safe Haskell | None |
---|---|
Language | GHC2021 |
Hix.Class.Map
Synopsis
- data LookupMonoid
- data LookupMaybe
- data LookupFatal
- class (Ord k, Coercible map (Map k v)) => NMap map k v sort | map -> k v sort where
- lookupError :: Show k => Text -> k -> Maybe v -> M v
- nFatal :: forall map k v sort. (Show k, NMap map k v sort) => Text -> k -> map -> M v
- class NLookup sort k v l | sort v -> l where
- (!?) :: NMap map k v sort => map -> k -> Maybe v
- (!!) :: (NMap map k v sort, NLookup sort k v l) => map -> k -> l
- nInsert :: NMap map k v sort => k -> v -> map -> map
- nUpdate :: (NMap map k v sort, NLookup sort k v l) => k -> map -> (l -> v) -> map
- nUpdateWith :: (NMap map k v sort, NLookup sort k v l) => k -> (l -> v) -> map -> map
- nAdjust :: NMap map k v sort => k -> map -> (v -> v) -> map
- nVia :: (NMap map1 k1 v1 s1, NMap map2 k2 v2 s2) => (Map k1 v1 -> Map k2 v2) -> map1 -> map2
- nViaA :: (Applicative m, NMap map1 k1 v1 s1, NMap map2 k2 v2 s2) => (Map k1 v1 -> m (Map k2 v2)) -> map1 -> m map2
- nMapKeys :: (NMap map1 k1 v sort1, NMap map2 k2 v sort2) => (k1 -> k2) -> map1 -> map2
- nMap :: (NMap map1 k v1 sort1, NMap map2 k v2 sort2) => (v1 -> v2) -> map1 -> map2
- nMap1 :: forall map1 map2 map1' map2' k k' v1 v2 s1 s2 s1' s2'. (NMap map1 k map1' s1, NMap map2 k map2' s2, NMap map1' k' v1 s1', NMap map2' k' v2 s2') => (v1 -> v2) -> map1 -> map2
- nMapWithKey :: (NMap map1 k v1 sort1, NMap map2 k v2 sort2) => (k -> v1 -> v2) -> map1 -> map2
- nMapWithKey1 :: forall map1 map2 map1' map2' k k' v1 v2 s1 s2 s1' s2'. (NMap map1 k map1' s1, NMap map2 k map2' s2, NMap map1' k' v1 s1', NMap map2' k' v2 s2') => (k -> k' -> v1 -> v2) -> map1 -> map2
- nTransform :: (NMap map1 k1 v1 sort1, NMap map2 k2 v2 sort2) => (k1 -> v1 -> (k2, v2)) -> map1 -> map2
- nTransformMaybe :: (NMap map1 k1 v1 sort1, NMap map2 k2 v2 sort2) => (k1 -> v1 -> Maybe (k2, v2)) -> map1 -> map2
- nMapMaybe :: (NMap map1 k v1 sort1, NMap map2 k v2 sort2) => (v1 -> Maybe v2) -> map1 -> map2
- nMapMaybe1 :: forall map1 map2 map1' map2' k k' v1 v2 s1 s2 s1' s2'. (NMap map1 k map1' s1, NMap map2 k map2' s2, NMap map1' k' v1 s1', NMap map2' k' v2 s2') => (v1 -> Maybe v2) -> map1 -> map2
- nMapMaybeWithKey :: (NMap map1 k v1 sort1, NMap map2 k v2 sort2) => (k -> v1 -> Maybe v2) -> map1 -> map2
- nMapMaybeWithKey1 :: forall map1 map2 map1' map2' k k' v1 v2 s1 s2 s1' s2'. (NMap map1 k map1' s1, NMap map2 k map2' s2, NMap map1' k' v1 s1', NMap map2' k' v2 s2') => (k' -> v1 -> Maybe v2) -> map1 -> map2
- nCatMaybes :: (NMap map1 k (Maybe v) sort1, NMap map2 k v sort2) => map1 -> map2
- nFilter :: NMap map k v sort => (v -> Bool) -> map -> map
- nFilter1 :: forall map map' k k' v s s'. (NMap map k map' s, NMap map' k' v s') => (v -> Bool) -> map -> map
- nPrettyWith :: (Pretty k, NMap map k v sort) => (v -> Doc) -> map -> Doc
- nPretty :: (Pretty k, Pretty v, NMap map k v sort) => map -> Doc
- nPretty1 :: (Pretty k, Pretty v, NMap map k v sort) => map -> Doc
- nMergeA :: forall map1 map2 map3 k v1 v2 v3 s1 s2 s3 m. (Applicative m, NMap map1 k v1 s1, NMap map2 k v2 s2, NMap map3 k v3 s3) => WhenMissing m k v1 v3 -> WhenMissing m k v2 v3 -> WhenMatched m k v1 v2 v3 -> map1 -> map2 -> m map3
- nMerge :: forall map1 map2 map3 k v1 v2 v3 s1 s2 s3. (NMap map1 k v1 s1, NMap map2 k v2 s2, NMap map3 k v3 s3) => SimpleWhenMissing k v1 v3 -> SimpleWhenMissing k v2 v3 -> SimpleWhenMatched k v1 v2 v3 -> map1 -> map2 -> map3
- nAmendWithKey :: forall map1 map2 k v1 v2 s1 s2. (NMap map1 k v1 s1, NMap map2 k v2 s2) => (k -> v1 -> v2 -> v2) -> map1 -> map2 -> map2
- nAmend :: forall map1 map2 k v1 v2 s1 s2. (NMap map1 k v1 s1, NMap map2 k v2 s2) => (v1 -> v2 -> v2) -> map1 -> map2 -> map2
- nAmend1 :: forall map1 map2 map1' map2' k k' v1 v2 s1 s2 s1' s2'. (NMap map1 k map1' s1, NMap map2 k map2' s2, NMap map1' k' v1 s1', NMap map2' k' v2 s2') => (v1 -> v2 -> v2) -> map1 -> map2 -> map2
- nPad :: forall map1 map2 k v1 v2 s1 s2. (NMap map1 k v1 s1, NMap map2 k v2 s2) => (v1 -> v2 -> v2) -> (v1 -> v2) -> map1 -> map2 -> map2
- nPad1 :: forall map1 map2 map1' map2' k k' v1 v2 s1 s2 s1' s2'. (NMap map1 k map1' s1, NMap map2 k map2' s2, NMap map1' k' v1 s1', NMap map2' k' v2 s2') => (v1 -> v2 -> v2) -> (v1 -> v2) -> map1 -> map2 -> map2
- nPadKeep :: forall map1 map2 k v1 v2 s1 s2. (NMap map1 k v1 s1, NMap map2 k v2 s2) => (v1 -> v2) -> map1 -> map2 -> map2
- nPadKeep1 :: forall map1 map2 map1' map2' k k' v1 v2 s1 s2 s1' s2'. (NMap map1 k map1' s1, NMap map2 k map2' s2, NMap map1' k' v1 s1', NMap map2' k' v2 s2') => (v1 -> v2) -> map1 -> map2 -> map2
- nZipWithKeyR :: forall map1 map2 map3 k v1 v2 v3 s1 s2 s3. (NMap map1 k v1 s1, NMap map2 k v2 s2, NMap map3 k v3 s3) => (k -> Maybe v1 -> v2 -> v3) -> map1 -> map2 -> map3
- nZipR :: forall map1 map2 map3 k v1 v2 v3 s1 s2 s3. (NMap map1 k v1 s1, NMap map2 k v2 s2, NMap map3 k v3 s3) => (Maybe v1 -> v2 -> v3) -> map1 -> map2 -> map3
- nZipWithKey :: forall map1 map2 map3 k v1 v2 v3 s1 s2 s3. (NMap map1 k v1 s1, NMap map2 k v2 s2, NMap map3 k v3 s3) => (k -> v1 -> v2 -> v3) -> map1 -> map2 -> map3
- nZip :: forall map1 map2 map3 k v1 v2 v3 s1 s2 s3. (NMap map1 k v1 s1, NMap map2 k v2 s2, NMap map3 k v3 s3) => (v1 -> v2 -> v3) -> map1 -> map2 -> map3
- nFromList :: NMap map k v sort => [(k, v)] -> map
- nList :: NMap map k v sort => map -> [(k, v)]
- nTo :: NMap map k v sort => map -> (k -> v -> a) -> [a]
- nToWith :: NMap map k v sort => (k -> v -> a) -> map -> [a]
- nConcat :: (Monoid a, NMap map k v sort) => map -> (k -> v -> a) -> a
- nConcatWith :: (Monoid a, NMap map k v sort) => (k -> v -> a) -> map -> a
- nToMaybe :: NMap map k v sort => map -> (k -> v -> Maybe a) -> [a]
- nTo1 :: forall map1 map2 k1 k2 v s1 s2 a. (NMap map1 k1 map2 s1, NMap map2 k2 v s2) => map1 -> (k1 -> k2 -> v -> a) -> [a]
- nToWith1 :: forall map1 map2 k1 k2 v s1 s2 a. (NMap map1 k1 map2 s1, NMap map2 k2 v s2) => (k1 -> k2 -> v -> a) -> map1 -> [a]
- nFromKeys :: (Foldable t, NMap map k v sort) => t k -> (k -> v) -> map
- nFromKeysMaybe :: (Foldable t, NMap map k v sort) => t k -> (k -> Maybe v) -> map
- nBy :: (Foldable t, NMap map k v sort) => t v -> (v -> k) -> map
- nGen :: (Foldable t, NMap map k v sort) => t a -> (a -> (k, v)) -> map
- nGenWith :: (Foldable t, NMap map k v sort) => (a -> (k, v)) -> t a -> map
- nGenMaybe :: (Foldable t, NMap map k v sort) => t a -> (a -> Maybe (k, v)) -> map
- nForKeys :: (Applicative m, NMap map k v sort) => [k] -> (k -> m v) -> m map
- nFor :: (Applicative m, NMap map k v sort) => [v] -> (v -> m k) -> m map
- nElems :: NMap map k v s => map -> [v]
- nElems1 :: forall map1 map2 k1 k2 v s1 s2. (NMap map1 k1 map2 s1, NMap map2 k2 v s2) => map1 -> [v]
- nFlatten :: forall map1 map2 map3 k1 k2 v1 v2 s1 s2. (Monoid map2, NMap map1 k1 map2 LookupMonoid, NMap map2 k2 v1 s1, NMap map3 k2 v2 s2) => (v1 -> v2) -> map1 -> map3
- nKeys :: NMap map k v sort => map -> [k]
- nKeysSet :: NMap map k v sort => map -> Set k
- nRestrictKeys :: NMap map k v sort => Set k -> map -> map
- nWithoutKeys :: NMap map k v sort => Set k -> map -> map
- nMember :: NMap map k v sort => k -> map -> Bool
Documentation
data LookupMonoid Source #
Instances
Monoid v => NLookup LookupMonoid k v v Source # | |
Defined in Hix.Class.Map | |
NMap SourcePackage Version SourcePackageId LookupMonoid Source # | |
Defined in Hix.Managed.Cabal.Data.SourcePackage Methods nGet :: SourcePackage -> Map Version SourcePackageId Source # | |
NMap (Envs a) EnvName a LookupMonoid Source # | |
NMap (Packages a) LocalPackage a LookupMonoid Source # | |
Defined in Hix.Managed.Data.Packages |
data LookupMaybe Source #
Instances
data LookupFatal Source #
class (Ord k, Coercible map (Map k v)) => NMap map k v sort | map -> k v sort where Source #
Minimal complete definition
Nothing
Instances
class NLookup sort k v l | sort v -> l where Source #
Instances
Monoid v => NLookup LookupMonoid k v v Source # | |
Defined in Hix.Class.Map | |
NLookup LookupMaybe k v (Maybe v) Source # | |
Show k => NLookup LookupFatal k v (Text -> M v) Source # | |
nUpdateWith :: (NMap map k v sort, NLookup sort k v l) => k -> (l -> v) -> map -> map Source #
nVia :: (NMap map1 k1 v1 s1, NMap map2 k2 v2 s2) => (Map k1 v1 -> Map k2 v2) -> map1 -> map2 Source #
nViaA :: (Applicative m, NMap map1 k1 v1 s1, NMap map2 k2 v2 s2) => (Map k1 v1 -> m (Map k2 v2)) -> map1 -> m map2 Source #
nMap1 :: forall map1 map2 map1' map2' k k' v1 v2 s1 s2 s1' s2'. (NMap map1 k map1' s1, NMap map2 k map2' s2, NMap map1' k' v1 s1', NMap map2' k' v2 s2') => (v1 -> v2) -> map1 -> map2 Source #
nMapWithKey :: (NMap map1 k v1 sort1, NMap map2 k v2 sort2) => (k -> v1 -> v2) -> map1 -> map2 Source #
nMapWithKey1 :: forall map1 map2 map1' map2' k k' v1 v2 s1 s2 s1' s2'. (NMap map1 k map1' s1, NMap map2 k map2' s2, NMap map1' k' v1 s1', NMap map2' k' v2 s2') => (k -> k' -> v1 -> v2) -> map1 -> map2 Source #
nTransform :: (NMap map1 k1 v1 sort1, NMap map2 k2 v2 sort2) => (k1 -> v1 -> (k2, v2)) -> map1 -> map2 Source #
nTransformMaybe :: (NMap map1 k1 v1 sort1, NMap map2 k2 v2 sort2) => (k1 -> v1 -> Maybe (k2, v2)) -> map1 -> map2 Source #
nMapMaybe :: (NMap map1 k v1 sort1, NMap map2 k v2 sort2) => (v1 -> Maybe v2) -> map1 -> map2 Source #
nMapMaybe1 :: forall map1 map2 map1' map2' k k' v1 v2 s1 s2 s1' s2'. (NMap map1 k map1' s1, NMap map2 k map2' s2, NMap map1' k' v1 s1', NMap map2' k' v2 s2') => (v1 -> Maybe v2) -> map1 -> map2 Source #
nMapMaybeWithKey :: (NMap map1 k v1 sort1, NMap map2 k v2 sort2) => (k -> v1 -> Maybe v2) -> map1 -> map2 Source #
nMapMaybeWithKey1 :: forall map1 map2 map1' map2' k k' v1 v2 s1 s2 s1' s2'. (NMap map1 k map1' s1, NMap map2 k map2' s2, NMap map1' k' v1 s1', NMap map2' k' v2 s2') => (k' -> v1 -> Maybe v2) -> map1 -> map2 Source #
nFilter1 :: forall map map' k k' v s s'. (NMap map k map' s, NMap map' k' v s') => (v -> Bool) -> map -> map Source #
nMergeA :: forall map1 map2 map3 k v1 v2 v3 s1 s2 s3 m. (Applicative m, NMap map1 k v1 s1, NMap map2 k v2 s2, NMap map3 k v3 s3) => WhenMissing m k v1 v3 -> WhenMissing m k v2 v3 -> WhenMatched m k v1 v2 v3 -> map1 -> map2 -> m map3 Source #
nMerge :: forall map1 map2 map3 k v1 v2 v3 s1 s2 s3. (NMap map1 k v1 s1, NMap map2 k v2 s2, NMap map3 k v3 s3) => SimpleWhenMissing k v1 v3 -> SimpleWhenMissing k v2 v3 -> SimpleWhenMatched k v1 v2 v3 -> map1 -> map2 -> map3 Source #
nAmendWithKey :: forall map1 map2 k v1 v2 s1 s2. (NMap map1 k v1 s1, NMap map2 k v2 s2) => (k -> v1 -> v2 -> v2) -> map1 -> map2 -> map2 Source #
nAmend :: forall map1 map2 k v1 v2 s1 s2. (NMap map1 k v1 s1, NMap map2 k v2 s2) => (v1 -> v2 -> v2) -> map1 -> map2 -> map2 Source #
For each key that is present in both maps, replace the value by the result of the combining function.
For everything else, leave map2
unchanged.
nAmend1 :: forall map1 map2 map1' map2' k k' v1 v2 s1 s2 s1' s2'. (NMap map1 k map1' s1, NMap map2 k map2' s2, NMap map1' k' v1 s1', NMap map2' k' v2 s2') => (v1 -> v2 -> v2) -> map1 -> map2 -> map2 Source #
For each key path that is present in both submaps, replace the value by the result of the combining function.
For everything else, leave map2
unchanged.
nPad :: forall map1 map2 k v1 v2 s1 s2. (NMap map1 k v1 s1, NMap map2 k v2 s2) => (v1 -> v2 -> v2) -> (v1 -> v2) -> map1 -> map2 -> map2 Source #
For each key that is present in both maps, replace the value by the result of the combining function.
For each key that is present in map1
, insert the result of the conversion function.
Keep keys only present in map2
.
nPad1 :: forall map1 map2 map1' map2' k k' v1 v2 s1 s2 s1' s2'. (NMap map1 k map1' s1, NMap map2 k map2' s2, NMap map1' k' v1 s1', NMap map2' k' v2 s2') => (v1 -> v2 -> v2) -> (v1 -> v2) -> map1 -> map2 -> map2 Source #
For each key path that is present in both submaps, replace the value by the result of the combining function.
For each key and key path that is present only in map1
and each submap, insert the result of the conversion
function.
Keep keys only present in map2
and each submap.
nPadKeep :: forall map1 map2 k v1 v2 s1 s2. (NMap map1 k v1 s1, NMap map2 k v2 s2) => (v1 -> v2) -> map1 -> map2 -> map2 Source #
For each key that is present only in map1
, insert the result of the conversion function.
For everything else, leave map2
unchanged.
nPadKeep1 :: forall map1 map2 map1' map2' k k' v1 v2 s1 s2 s1' s2'. (NMap map1 k map1' s1, NMap map2 k map2' s2, NMap map1' k' v1 s1', NMap map2' k' v2 s2') => (v1 -> v2) -> map1 -> map2 -> map2 Source #
For each key and key path that is present only in map1
and each submap, insert the result of the conversion
function.
For everything else, leave map2
and its submaps unchanged.
nZipWithKeyR :: forall map1 map2 map3 k v1 v2 v3 s1 s2 s3. (NMap map1 k v1 s1, NMap map2 k v2 s2, NMap map3 k v3 s3) => (k -> Maybe v1 -> v2 -> v3) -> map1 -> map2 -> map3 Source #
nZipR :: forall map1 map2 map3 k v1 v2 v3 s1 s2 s3. (NMap map1 k v1 s1, NMap map2 k v2 s2, NMap map3 k v3 s3) => (Maybe v1 -> v2 -> v3) -> map1 -> map2 -> map3 Source #
nZipWithKey :: forall map1 map2 map3 k v1 v2 v3 s1 s2 s3. (NMap map1 k v1 s1, NMap map2 k v2 s2, NMap map3 k v3 s3) => (k -> v1 -> v2 -> v3) -> map1 -> map2 -> map3 Source #
nZip :: forall map1 map2 map3 k v1 v2 v3 s1 s2 s3. (NMap map1 k v1 s1, NMap map2 k v2 s2, NMap map3 k v3 s3) => (v1 -> v2 -> v3) -> map1 -> map2 -> map3 Source #
nConcatWith :: (Monoid a, NMap map k v sort) => (k -> v -> a) -> map -> a Source #
nTo1 :: forall map1 map2 k1 k2 v s1 s2 a. (NMap map1 k1 map2 s1, NMap map2 k2 v s2) => map1 -> (k1 -> k2 -> v -> a) -> [a] Source #
nToWith1 :: forall map1 map2 k1 k2 v s1 s2 a. (NMap map1 k1 map2 s1, NMap map2 k2 v s2) => (k1 -> k2 -> v -> a) -> map1 -> [a] Source #
nForKeys :: (Applicative m, NMap map k v sort) => [k] -> (k -> m v) -> m map Source #
nFor :: (Applicative m, NMap map k v sort) => [v] -> (v -> m k) -> m map Source #
nElems1 :: forall map1 map2 k1 k2 v s1 s2. (NMap map1 k1 map2 s1, NMap map2 k2 v s2) => map1 -> [v] Source #
nFlatten :: forall map1 map2 map3 k1 k2 v1 v2 s1 s2. (Monoid map2, NMap map1 k1 map2 LookupMonoid, NMap map2 k2 v1 s1, NMap map3 k2 v2 s2) => (v1 -> v2) -> map1 -> map3 Source #
nRestrictKeys :: NMap map k v sort => Set k -> map -> map Source #
nWithoutKeys :: NMap map k v sort => Set k -> map -> map Source #