hix-0.8.0: Haskell/Nix development build tools
Safe HaskellNone
LanguageGHC2021

Hix.Class.Map

Synopsis

Documentation

data LookupMonoid Source #

Instances

Instances details
Monoid v => NLookup LookupMonoid k v v Source # 
Instance details

Defined in Hix.Class.Map

Methods

nLookup :: k -> Maybe v -> v Source #

NMap SourcePackage Version SourcePackageId LookupMonoid Source # 
Instance details

Defined in Hix.Managed.Cabal.Data.SourcePackage

NMap (Envs a) EnvName a LookupMonoid Source # 
Instance details

Defined in Hix.Managed.Data.Envs

Methods

nGet :: Envs a -> Map EnvName a Source #

NMap (Packages a) LocalPackage a LookupMonoid Source # 
Instance details

Defined in Hix.Managed.Data.Packages

data LookupMaybe Source #

Instances

Instances details
NMap BoundExtensions PackageName BoundExtension LookupMaybe Source # 
Instance details

Defined in Hix.Data.Bounds

NMap Bounds PackageName VersionBounds LookupMaybe Source # 
Instance details

Defined in Hix.Data.Bounds

NMap Ranges PackageName VersionRange LookupMaybe Source # 
Instance details

Defined in Hix.Data.Bounds

NMap Overrides PackageName Override LookupMaybe Source # 
Instance details

Defined in Hix.Data.Overrides

NMap Versions PackageName Version LookupMaybe Source # 
Instance details

Defined in Hix.Data.Version

NMap SourcePackages PackageName SourcePackage LookupMaybe Source # 
Instance details

Defined in Hix.Managed.Cabal.Data.SourcePackage

NMap EnvConstraints PackageName MutationConstraints LookupMaybe Source # 
Instance details

Defined in Hix.Managed.Data.Constraints

NMap LocalRanges LocalPackage VersionRange LookupMaybe Source # 
Instance details

Defined in Hix.Managed.Data.Mutable

NMap MutableBounds MutableDep VersionBounds LookupMaybe Source # 
Instance details

Defined in Hix.Managed.Data.Mutable

NMap MutableRanges MutableDep VersionRange LookupMaybe Source # 
Instance details

Defined in Hix.Managed.Data.Mutable

NLookup LookupMaybe k v (Maybe v) Source # 
Instance details

Defined in Hix.Class.Map

Methods

nLookup :: k -> Maybe v -> Maybe v Source #

NMap SourcePackageVersions PackageName [Version] LookupMaybe Source # 
Instance details

Defined in Hix.Managed.Cabal.Data.SourcePackage

NMap MutableVersions MutableDep (Maybe Version) LookupMaybe Source # 
Instance details

Defined in Hix.Managed.Data.Mutable

NMap (MutableDeps a) MutableDep a LookupMaybe Source # 
Instance details

Defined in Hix.Managed.Data.Mutable

NMap (Deps a) PackageName a LookupMaybe Source # 
Instance details

Defined in Hix.Managed.Data.Packages

Methods

nGet :: Deps a -> Map PackageName a Source #

data LookupFatal Source #

Instances

Instances details
Show k => NLookup LookupFatal k v (Text -> M v) Source # 
Instance details

Defined in Hix.Class.Map

Methods

nLookup :: k -> Maybe v -> Text -> M v Source #

class (Ord k, Coercible map (Map k v)) => NMap map k v sort | map -> k v sort where Source #

Minimal complete definition

Nothing

Methods

nGet :: map -> Map k v Source #

Instances

Instances details
NMap BoundExtensions PackageName BoundExtension LookupMaybe Source # 
Instance details

Defined in Hix.Data.Bounds

NMap Bounds PackageName VersionBounds LookupMaybe Source # 
Instance details

Defined in Hix.Data.Bounds

NMap Ranges PackageName VersionRange LookupMaybe Source # 
Instance details

Defined in Hix.Data.Bounds

NMap Overrides PackageName Override LookupMaybe Source # 
Instance details

Defined in Hix.Data.Overrides

NMap Versions PackageName Version LookupMaybe Source # 
Instance details

Defined in Hix.Data.Version

NMap SourcePackage Version SourcePackageId LookupMonoid Source # 
Instance details

Defined in Hix.Managed.Cabal.Data.SourcePackage

NMap SourcePackages PackageName SourcePackage LookupMaybe Source # 
Instance details

Defined in Hix.Managed.Cabal.Data.SourcePackage

NMap EnvConstraints PackageName MutationConstraints LookupMaybe Source # 
Instance details

Defined in Hix.Managed.Data.Constraints

NMap LocalRanges LocalPackage VersionRange LookupMaybe Source # 
Instance details

Defined in Hix.Managed.Data.Mutable

NMap MutableBounds MutableDep VersionBounds LookupMaybe Source # 
Instance details

Defined in Hix.Managed.Data.Mutable

NMap MutableRanges MutableDep VersionRange LookupMaybe Source # 
Instance details

Defined in Hix.Managed.Data.Mutable

NMap SourcePackageVersions PackageName [Version] LookupMaybe Source # 
Instance details

Defined in Hix.Managed.Cabal.Data.SourcePackage

NMap MutableVersions MutableDep (Maybe Version) LookupMaybe Source # 
Instance details

Defined in Hix.Managed.Data.Mutable

NMap (Envs a) EnvName a LookupMonoid Source # 
Instance details

Defined in Hix.Managed.Data.Envs

Methods

nGet :: Envs a -> Map EnvName a Source #

NMap (MutableDeps a) MutableDep a LookupMaybe Source # 
Instance details

Defined in Hix.Managed.Data.Mutable

NMap (Deps a) PackageName a LookupMaybe Source # 
Instance details

Defined in Hix.Managed.Data.Packages

Methods

nGet :: Deps a -> Map PackageName a Source #

NMap (Packages a) LocalPackage a LookupMonoid Source # 
Instance details

Defined in Hix.Managed.Data.Packages

lookupError :: Show k => Text -> k -> Maybe v -> M v Source #

nFatal :: forall map k v sort. (Show k, NMap map k v sort) => Text -> k -> map -> M v Source #

class NLookup sort k v l | sort v -> l where Source #

Methods

nLookup :: k -> Maybe v -> l Source #

Instances

Instances details
Monoid v => NLookup LookupMonoid k v v Source # 
Instance details

Defined in Hix.Class.Map

Methods

nLookup :: k -> Maybe v -> v Source #

NLookup LookupMaybe k v (Maybe v) Source # 
Instance details

Defined in Hix.Class.Map

Methods

nLookup :: k -> Maybe v -> Maybe v Source #

Show k => NLookup LookupFatal k v (Text -> M v) Source # 
Instance details

Defined in Hix.Class.Map

Methods

nLookup :: k -> Maybe v -> Text -> M v Source #

(!?) :: NMap map k v sort => map -> k -> Maybe v infixl 9 Source #

(!!) :: (NMap map k v sort, NLookup sort k v l) => map -> k -> l infixl 9 Source #

nInsert :: NMap map k v sort => k -> v -> map -> map Source #

nUpdate :: (NMap map k v sort, NLookup sort k v l) => k -> map -> (l -> v) -> map Source #

nUpdateWith :: (NMap map k v sort, NLookup sort k v l) => k -> (l -> v) -> map -> map Source #

nAdjust :: NMap map k v sort => k -> map -> (v -> v) -> 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 #

nMapKeys :: (NMap map1 k1 v sort1, NMap map2 k2 v sort2) => (k1 -> k2) -> map1 -> map2 Source #

nMap :: (NMap map1 k v1 sort1, NMap map2 k v2 sort2) => (v1 -> v2) -> map1 -> 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 #

nCatMaybes :: (NMap map1 k (Maybe v) sort1, NMap map2 k v sort2) => map1 -> map2 Source #

nFilter :: NMap map k v sort => (v -> Bool) -> map -> map 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 #

nPrettyWith :: (Pretty k, NMap map k v sort) => (v -> Doc) -> map -> Doc Source #

nPretty :: (Pretty k, Pretty v, NMap map k v sort) => map -> Doc Source #

nPretty1 :: (Pretty k, Pretty v, NMap map k v sort) => map -> Doc 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 #

nFromList :: NMap map k v sort => [(k, v)] -> map Source #

nList :: NMap map k v sort => map -> [(k, v)] Source #

nTo :: NMap map k v sort => map -> (k -> v -> a) -> [a] Source #

nToWith :: NMap map k v sort => (k -> v -> a) -> map -> [a] Source #

nConcat :: (Monoid a, NMap map k v sort) => map -> (k -> v -> a) -> a Source #

nConcatWith :: (Monoid a, NMap map k v sort) => (k -> v -> a) -> map -> a Source #

nToMaybe :: NMap map k v sort => map -> (k -> v -> Maybe a) -> [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 #

nFromKeys :: (Foldable t, NMap map k v sort) => t k -> (k -> v) -> map Source #

nFromKeysMaybe :: (Foldable t, NMap map k v sort) => t k -> (k -> Maybe v) -> map Source #

nBy :: (Foldable t, NMap map k v sort) => t v -> (v -> k) -> map Source #

nGen :: (Foldable t, NMap map k v sort) => t a -> (a -> (k, v)) -> map Source #

nGenWith :: (Foldable t, NMap map k v sort) => (a -> (k, v)) -> t a -> map Source #

nGenMaybe :: (Foldable t, NMap map k v sort) => t a -> (a -> Maybe (k, v)) -> map 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 #

nElems :: NMap map k v s => map -> [v] 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 #

nKeys :: NMap map k v sort => map -> [k] Source #

nKeysSet :: NMap map k v sort => map -> Set k Source #

nRestrictKeys :: NMap map k v sort => Set k -> map -> map Source #

nWithoutKeys :: NMap map k v sort => Set k -> map -> map Source #

nMember :: NMap map k v sort => k -> map -> Bool Source #