mappings-0.0.2.0: Types which represent functions k -> v
Safe HaskellSafe-Inferred
LanguageGHC2021

Data.Mapping

Synopsis

Documentation

class Foldable m => Mapping k m | m -> k where Source #

If Mapping k m, then m v represents a function k -> v.

Mapping requires an instance of Foldable, folding over the values that appear. Given that a value can be associated with a very large collection of keys, the only folds that normally make sense are those over idempotent monoids.

Minimal complete definition

cst, act, isConst, mtraverse, mergeA

Methods

cst :: v -> m v Source #

act :: m v -> k -> v Source #

isConst :: Ord v => m v -> Maybe v Source #

mtraverse :: (Applicative f, Ord v) => (u -> f v) -> m u -> f (m v) Source #

mmap :: Ord v => (u -> v) -> m u -> m v Source #

mergeA :: (Applicative f, Ord w) => (u -> v -> f w) -> m u -> m v -> f (m w) Source #

merge :: Ord w => (u -> v -> w) -> m u -> m v -> m w Source #

Instances

Instances details
Mapping Bool OnBool Source # 
Instance details

Defined in Data.Mapping

Methods

cst :: v -> OnBool v Source #

act :: OnBool v -> Bool -> v Source #

isConst :: Ord v => OnBool v -> Maybe v Source #

mtraverse :: (Applicative f, Ord v) => (u -> f v) -> OnBool u -> f (OnBool v) Source #

mmap :: Ord v => (u -> v) -> OnBool u -> OnBool v Source #

mergeA :: (Applicative f, Ord w) => (u -> v -> f w) -> OnBool u -> OnBool v -> f (OnBool w) Source #

merge :: Ord w => (u -> v -> w) -> OnBool u -> OnBool v -> OnBool w Source #

Ord k => Mapping k (MapWithDefault k) Source # 
Instance details

Defined in Data.Mapping.MapWithDefault

Methods

cst :: v -> MapWithDefault k v Source #

act :: MapWithDefault k v -> k -> v Source #

isConst :: Ord v => MapWithDefault k v -> Maybe v Source #

mtraverse :: (Applicative f, Ord v) => (u -> f v) -> MapWithDefault k u -> f (MapWithDefault k v) Source #

mmap :: Ord v => (u -> v) -> MapWithDefault k u -> MapWithDefault k v Source #

mergeA :: (Applicative f, Ord w) => (u -> v -> f w) -> MapWithDefault k u -> MapWithDefault k v -> f (MapWithDefault k w) Source #

merge :: Ord w => (u -> v -> w) -> MapWithDefault k u -> MapWithDefault k v -> MapWithDefault k w Source #

Ord k => Mapping k (Piecewise k) Source # 
Instance details

Defined in Data.Mapping.Piecewise

Methods

cst :: v -> Piecewise k v Source #

act :: Piecewise k v -> k -> v Source #

isConst :: Ord v => Piecewise k v -> Maybe v Source #

mtraverse :: (Applicative f, Ord v) => (u -> f v) -> Piecewise k u -> f (Piecewise k v) Source #

mmap :: Ord v => (u -> v) -> Piecewise k u -> Piecewise k v Source #

mergeA :: (Applicative f, Ord w) => (u -> v -> f w) -> Piecewise k u -> Piecewise k v -> f (Piecewise k w) Source #

merge :: Ord w => (u -> v -> w) -> Piecewise k u -> Piecewise k v -> Piecewise k w Source #

Mapping k (Constant k) Source # 
Instance details

Defined in Data.Mapping

Methods

cst :: v -> Constant k v Source #

act :: Constant k v -> k -> v Source #

isConst :: Ord v => Constant k v -> Maybe v Source #

mtraverse :: (Applicative f, Ord v) => (u -> f v) -> Constant k u -> f (Constant k v) Source #

mmap :: Ord v => (u -> v) -> Constant k u -> Constant k v Source #

mergeA :: (Applicative f, Ord w) => (u -> v -> f w) -> Constant k u -> Constant k v -> f (Constant k w) Source #

merge :: Ord w => (u -> v -> w) -> Constant k u -> Constant k v -> Constant k w Source #

Mapping k m => Mapping (Maybe k) (OnMaybe k m) Source # 
Instance details

Defined in Data.Mapping

Methods

cst :: v -> OnMaybe k m v Source #

act :: OnMaybe k m v -> Maybe k -> v Source #

isConst :: Ord v => OnMaybe k m v -> Maybe v Source #

mtraverse :: (Applicative f, Ord v) => (u -> f v) -> OnMaybe k m u -> f (OnMaybe k m v) Source #

mmap :: Ord v => (u -> v) -> OnMaybe k m u -> OnMaybe k m v Source #

mergeA :: (Applicative f, Ord w) => (u -> v -> f w) -> OnMaybe k m u -> OnMaybe k m v -> f (OnMaybe k m w) Source #

merge :: Ord w => (u -> v -> w) -> OnMaybe k m u -> OnMaybe k m v -> OnMaybe k m w Source #

(Ord a, Ord (m Int), Mapping k m) => Mapping (a -> k) (Decision k m a) Source # 
Instance details

Defined in Data.Mapping.Decision

Methods

cst :: v -> Decision k m a v Source #

act :: Decision k m a v -> (a -> k) -> v Source #

isConst :: Ord v => Decision k m a v -> Maybe v Source #

mtraverse :: (Applicative f, Ord v) => (u -> f v) -> Decision k m a u -> f (Decision k m a v) Source #

mmap :: Ord v => (u -> v) -> Decision k m a u -> Decision k m a v Source #

mergeA :: (Applicative f, Ord w) => (u -> v -> f w) -> Decision k m a u -> Decision k m a v -> f (Decision k m a w) Source #

merge :: Ord w => (u -> v -> w) -> Decision k m a u -> Decision k m a v -> Decision k m a w Source #

(Mapping k m, Mapping l n) => Mapping (Either k l) (OnEither k l m n) Source # 
Instance details

Defined in Data.Mapping

Methods

cst :: v -> OnEither k l m n v Source #

act :: OnEither k l m n v -> Either k l -> v Source #

isConst :: Ord v => OnEither k l m n v -> Maybe v Source #

mtraverse :: (Applicative f, Ord v) => (u -> f v) -> OnEither k l m n u -> f (OnEither k l m n v) Source #

mmap :: Ord v => (u -> v) -> OnEither k l m n u -> OnEither k l m n v Source #

mergeA :: (Applicative f, Ord w) => (u -> v -> f w) -> OnEither k l m n u -> OnEither k l m n v -> f (OnEither k l m n w) Source #

merge :: Ord w => (u -> v -> w) -> OnEither k l m n u -> OnEither k l m n v -> OnEither k l m n w Source #

(Mapping k m, Mapping l n, forall v. Ord v => Ord (n v)) => Mapping (k, l) (OnPair k l m n) Source # 
Instance details

Defined in Data.Mapping

Methods

cst :: v -> OnPair k l m n v Source #

act :: OnPair k l m n v -> (k, l) -> v Source #

isConst :: Ord v => OnPair k l m n v -> Maybe v Source #

mtraverse :: (Applicative f, Ord v) => (u -> f v) -> OnPair k l m n u -> f (OnPair k l m n v) Source #

mmap :: Ord v => (u -> v) -> OnPair k l m n u -> OnPair k l m n v Source #

mergeA :: (Applicative f, Ord w) => (u -> v -> f w) -> OnPair k l m n u -> OnPair k l m n v -> f (OnPair k l m n w) Source #

merge :: Ord w => (u -> v -> w) -> OnPair k l m n u -> OnPair k l m n v -> OnPair k l m n w Source #

pairMappings :: forall k m u v a. (Mapping k m, Monoid a) => (u -> v -> a) -> m u -> m v -> a Source #

A simultaneous foldMap over two maps

mutualValues :: (Ord u, Ord v, Mapping k m) => m u -> m v -> Set (u, v) Source #

What values can these two take simultaneously?

class Neighbourly m where Source #

A class representing data structures which have a concept of neighbouring values

Methods

neighbours :: Ord v => m v -> Set (v, v) Source #

Instances

Instances details
Neighbourly OnBool Source # 
Instance details

Defined in Data.Mapping

Methods

neighbours :: Ord v => OnBool v -> Set (v, v) Source #

(Enum k, Eq k) => Neighbourly (MapWithDefault k) Source #

This instance assumes that k is unbounded

Instance details

Defined in Data.Mapping.MapWithDefault

Methods

neighbours :: Ord v => MapWithDefault k v -> Set (v, v) Source #

Neighbourly (Piecewise k) Source # 
Instance details

Defined in Data.Mapping.Piecewise

Methods

neighbours :: Ord v => Piecewise k v -> Set (v, v) Source #

Neighbourly (Constant k2) Source # 
Instance details

Defined in Data.Mapping

Methods

neighbours :: Ord v => Constant k2 v -> Set (v, v) Source #

(Mapping k m, Neighbourly m, Ord a, Ord (m Int)) => Neighbourly (Decision k m a) Source # 
Instance details

Defined in Data.Mapping.Decision

Methods

neighbours :: Ord v => Decision k m a v -> Set (v, v) Source #

newtype AlgebraWrapper k m a Source #

A wrapper for representing pointwise algebraic structures on a Mapping

Eventually would like to use this only for "deriving via"

Constructors

AlgebraWrapper 

Fields

Instances

Instances details
(Mapping k m, Ord a, Monoid a) => Monoid (AlgebraWrapper k m a) Source # 
Instance details

Defined in Data.Mapping

Methods

mempty :: AlgebraWrapper k m a #

mappend :: AlgebraWrapper k m a -> AlgebraWrapper k m a -> AlgebraWrapper k m a #

mconcat :: [AlgebraWrapper k m a] -> AlgebraWrapper k m a #

(Mapping k m, Ord a, Semigroup a) => Semigroup (AlgebraWrapper k m a) Source # 
Instance details

Defined in Data.Mapping

Methods

(<>) :: AlgebraWrapper k m a -> AlgebraWrapper k m a -> AlgebraWrapper k m a #

sconcat :: NonEmpty (AlgebraWrapper k m a) -> AlgebraWrapper k m a #

stimes :: Integral b => b -> AlgebraWrapper k m a -> AlgebraWrapper k m a #

(Mapping k m, Ord a, Num a) => Num (AlgebraWrapper k m a) Source # 
Instance details

Defined in Data.Mapping

(Mapping k m, Ord a, Boolean a) => Boolean (AlgebraWrapper k m a) Source # 
Instance details

Defined in Data.Mapping

Methods

true :: AlgebraWrapper k m a #

false :: AlgebraWrapper k m a #

not :: AlgebraWrapper k m a -> AlgebraWrapper k m a #

(&&) :: AlgebraWrapper k m a -> AlgebraWrapper k m a -> AlgebraWrapper k m a #

(||) :: AlgebraWrapper k m a -> AlgebraWrapper k m a -> AlgebraWrapper k m a #

xor :: AlgebraWrapper k m a -> AlgebraWrapper k m a -> AlgebraWrapper k m a #

(-->) :: AlgebraWrapper k m a -> AlgebraWrapper k m a -> AlgebraWrapper k m a #

(<-->) :: AlgebraWrapper k m a -> AlgebraWrapper k m a -> AlgebraWrapper k m a #

and :: Foldable t => t (AlgebraWrapper k m a) -> AlgebraWrapper k m a #

or :: Foldable t => t (AlgebraWrapper k m a) -> AlgebraWrapper k m a #

nand :: Foldable t => t (AlgebraWrapper k m a) -> AlgebraWrapper k m a #

all :: Foldable t => (a0 -> AlgebraWrapper k m a) -> t a0 -> AlgebraWrapper k m a #

any :: Foldable t => (a0 -> AlgebraWrapper k m a) -> t a0 -> AlgebraWrapper k m a #

nor :: Foldable t => t (AlgebraWrapper k m a) -> AlgebraWrapper k m a #

newtype Constant k v Source #

Constant functions (on any domain)

Constructors

Constant 

Fields

Instances

Instances details
Mapping k (Constant k) Source # 
Instance details

Defined in Data.Mapping

Methods

cst :: v -> Constant k v Source #

act :: Constant k v -> k -> v Source #

isConst :: Ord v => Constant k v -> Maybe v Source #

mtraverse :: (Applicative f, Ord v) => (u -> f v) -> Constant k u -> f (Constant k v) Source #

mmap :: Ord v => (u -> v) -> Constant k u -> Constant k v Source #

mergeA :: (Applicative f, Ord w) => (u -> v -> f w) -> Constant k u -> Constant k v -> f (Constant k w) Source #

merge :: Ord w => (u -> v -> w) -> Constant k u -> Constant k v -> Constant k w Source #

Foldable (Constant k2) Source # 
Instance details

Defined in Data.Mapping

Methods

fold :: Monoid m => Constant k2 m -> m #

foldMap :: Monoid m => (a -> m) -> Constant k2 a -> m #

foldMap' :: Monoid m => (a -> m) -> Constant k2 a -> m #

foldr :: (a -> b -> b) -> b -> Constant k2 a -> b #

foldr' :: (a -> b -> b) -> b -> Constant k2 a -> b #

foldl :: (b -> a -> b) -> b -> Constant k2 a -> b #

foldl' :: (b -> a -> b) -> b -> Constant k2 a -> b #

foldr1 :: (a -> a -> a) -> Constant k2 a -> a #

foldl1 :: (a -> a -> a) -> Constant k2 a -> a #

toList :: Constant k2 a -> [a] #

null :: Constant k2 a -> Bool #

length :: Constant k2 a -> Int #

elem :: Eq a => a -> Constant k2 a -> Bool #

maximum :: Ord a => Constant k2 a -> a #

minimum :: Ord a => Constant k2 a -> a #

sum :: Num a => Constant k2 a -> a #

product :: Num a => Constant k2 a -> a #

Neighbourly (Constant k2) Source # 
Instance details

Defined in Data.Mapping

Methods

neighbours :: Ord v => Constant k2 v -> Set (v, v) Source #

data OnBool a Source #

Binary decisions, as functions defined on Bool

Constructors

OnBool 

Fields

Instances

Instances details
Foldable OnBool Source # 
Instance details

Defined in Data.Mapping

Methods

fold :: Monoid m => OnBool m -> m #

foldMap :: Monoid m => (a -> m) -> OnBool a -> m #

foldMap' :: Monoid m => (a -> m) -> OnBool a -> m #

foldr :: (a -> b -> b) -> b -> OnBool a -> b #

foldr' :: (a -> b -> b) -> b -> OnBool a -> b #

foldl :: (b -> a -> b) -> b -> OnBool a -> b #

foldl' :: (b -> a -> b) -> b -> OnBool a -> b #

foldr1 :: (a -> a -> a) -> OnBool a -> a #

foldl1 :: (a -> a -> a) -> OnBool a -> a #

toList :: OnBool a -> [a] #

null :: OnBool a -> Bool #

length :: OnBool a -> Int #

elem :: Eq a => a -> OnBool a -> Bool #

maximum :: Ord a => OnBool a -> a #

minimum :: Ord a => OnBool a -> a #

sum :: Num a => OnBool a -> a #

product :: Num a => OnBool a -> a #

Traversable OnBool Source # 
Instance details

Defined in Data.Mapping

Methods

traverse :: Applicative f => (a -> f b) -> OnBool a -> f (OnBool b) #

sequenceA :: Applicative f => OnBool (f a) -> f (OnBool a) #

mapM :: Monad m => (a -> m b) -> OnBool a -> m (OnBool b) #

sequence :: Monad m => OnBool (m a) -> m (OnBool a) #

Functor OnBool Source # 
Instance details

Defined in Data.Mapping

Methods

fmap :: (a -> b) -> OnBool a -> OnBool b #

(<$) :: a -> OnBool b -> OnBool a #

Neighbourly OnBool Source # 
Instance details

Defined in Data.Mapping

Methods

neighbours :: Ord v => OnBool v -> Set (v, v) Source #

Mapping Bool OnBool Source # 
Instance details

Defined in Data.Mapping

Methods

cst :: v -> OnBool v Source #

act :: OnBool v -> Bool -> v Source #

isConst :: Ord v => OnBool v -> Maybe v Source #

mtraverse :: (Applicative f, Ord v) => (u -> f v) -> OnBool u -> f (OnBool v) Source #

mmap :: Ord v => (u -> v) -> OnBool u -> OnBool v Source #

mergeA :: (Applicative f, Ord w) => (u -> v -> f w) -> OnBool u -> OnBool v -> f (OnBool w) Source #

merge :: Ord w => (u -> v -> w) -> OnBool u -> OnBool v -> OnBool w Source #

Show a => Show (OnBool a) Source # 
Instance details

Defined in Data.Mapping

Methods

showsPrec :: Int -> OnBool a -> ShowS #

show :: OnBool a -> String #

showList :: [OnBool a] -> ShowS #

Eq a => Eq (OnBool a) Source # 
Instance details

Defined in Data.Mapping

Methods

(==) :: OnBool a -> OnBool a -> Bool #

(/=) :: OnBool a -> OnBool a -> Bool #

Ord a => Ord (OnBool a) Source # 
Instance details

Defined in Data.Mapping

Methods

compare :: OnBool a -> OnBool a -> Ordering #

(<) :: OnBool a -> OnBool a -> Bool #

(<=) :: OnBool a -> OnBool a -> Bool #

(>) :: OnBool a -> OnBool a -> Bool #

(>=) :: OnBool a -> OnBool a -> Bool #

max :: OnBool a -> OnBool a -> OnBool a #

min :: OnBool a -> OnBool a -> OnBool a #

data OnMaybe k m v Source #

Maps on Maybe

Constructors

OnMaybe 

Fields

Instances

Instances details
Mapping k m => Mapping (Maybe k) (OnMaybe k m) Source # 
Instance details

Defined in Data.Mapping

Methods

cst :: v -> OnMaybe k m v Source #

act :: OnMaybe k m v -> Maybe k -> v Source #

isConst :: Ord v => OnMaybe k m v -> Maybe v Source #

mtraverse :: (Applicative f, Ord v) => (u -> f v) -> OnMaybe k m u -> f (OnMaybe k m v) Source #

mmap :: Ord v => (u -> v) -> OnMaybe k m u -> OnMaybe k m v Source #

mergeA :: (Applicative f, Ord w) => (u -> v -> f w) -> OnMaybe k m u -> OnMaybe k m v -> f (OnMaybe k m w) Source #

merge :: Ord w => (u -> v -> w) -> OnMaybe k m u -> OnMaybe k m v -> OnMaybe k m w Source #

Foldable m => Foldable (OnMaybe k2 m) Source # 
Instance details

Defined in Data.Mapping

Methods

fold :: Monoid m0 => OnMaybe k2 m m0 -> m0 #

foldMap :: Monoid m0 => (a -> m0) -> OnMaybe k2 m a -> m0 #

foldMap' :: Monoid m0 => (a -> m0) -> OnMaybe k2 m a -> m0 #

foldr :: (a -> b -> b) -> b -> OnMaybe k2 m a -> b #

foldr' :: (a -> b -> b) -> b -> OnMaybe k2 m a -> b #

foldl :: (b -> a -> b) -> b -> OnMaybe k2 m a -> b #

foldl' :: (b -> a -> b) -> b -> OnMaybe k2 m a -> b #

foldr1 :: (a -> a -> a) -> OnMaybe k2 m a -> a #

foldl1 :: (a -> a -> a) -> OnMaybe k2 m a -> a #

toList :: OnMaybe k2 m a -> [a] #

null :: OnMaybe k2 m a -> Bool #

length :: OnMaybe k2 m a -> Int #

elem :: Eq a => a -> OnMaybe k2 m a -> Bool #

maximum :: Ord a => OnMaybe k2 m a -> a #

minimum :: Ord a => OnMaybe k2 m a -> a #

sum :: Num a => OnMaybe k2 m a -> a #

product :: Num a => OnMaybe k2 m a -> a #

data OnEither k l m n v Source #

Maps on Either

Constructors

OnEither 

Fields

Instances

Instances details
(Mapping k m, Mapping l n) => Mapping (Either k l) (OnEither k l m n) Source # 
Instance details

Defined in Data.Mapping

Methods

cst :: v -> OnEither k l m n v Source #

act :: OnEither k l m n v -> Either k l -> v Source #

isConst :: Ord v => OnEither k l m n v -> Maybe v Source #

mtraverse :: (Applicative f, Ord v) => (u -> f v) -> OnEither k l m n u -> f (OnEither k l m n v) Source #

mmap :: Ord v => (u -> v) -> OnEither k l m n u -> OnEither k l m n v Source #

mergeA :: (Applicative f, Ord w) => (u -> v -> f w) -> OnEither k l m n u -> OnEither k l m n v -> f (OnEither k l m n w) Source #

merge :: Ord w => (u -> v -> w) -> OnEither k l m n u -> OnEither k l m n v -> OnEither k l m n w Source #

(Foldable m, Foldable n) => Foldable (OnEither k3 l m n) Source # 
Instance details

Defined in Data.Mapping

Methods

fold :: Monoid m0 => OnEither k3 l m n m0 -> m0 #

foldMap :: Monoid m0 => (a -> m0) -> OnEither k3 l m n a -> m0 #

foldMap' :: Monoid m0 => (a -> m0) -> OnEither k3 l m n a -> m0 #

foldr :: (a -> b -> b) -> b -> OnEither k3 l m n a -> b #

foldr' :: (a -> b -> b) -> b -> OnEither k3 l m n a -> b #

foldl :: (b -> a -> b) -> b -> OnEither k3 l m n a -> b #

foldl' :: (b -> a -> b) -> b -> OnEither k3 l m n a -> b #

foldr1 :: (a -> a -> a) -> OnEither k3 l m n a -> a #

foldl1 :: (a -> a -> a) -> OnEither k3 l m n a -> a #

toList :: OnEither k3 l m n a -> [a] #

null :: OnEither k3 l m n a -> Bool #

length :: OnEither k3 l m n a -> Int #

elem :: Eq a => a -> OnEither k3 l m n a -> Bool #

maximum :: Ord a => OnEither k3 l m n a -> a #

minimum :: Ord a => OnEither k3 l m n a -> a #

sum :: Num a => OnEither k3 l m n a -> a #

product :: Num a => OnEither k3 l m n a -> a #

(Eq (m v), Eq (n v)) => Eq (OnEither k2 l m n v) Source # 
Instance details

Defined in Data.Mapping

Methods

(==) :: OnEither k2 l m n v -> OnEither k2 l m n v -> Bool #

(/=) :: OnEither k2 l m n v -> OnEither k2 l m n v -> Bool #

(Ord (m v), Ord (n v)) => Ord (OnEither k2 l m n v) Source # 
Instance details

Defined in Data.Mapping

Methods

compare :: OnEither k2 l m n v -> OnEither k2 l m n v -> Ordering #

(<) :: OnEither k2 l m n v -> OnEither k2 l m n v -> Bool #

(<=) :: OnEither k2 l m n v -> OnEither k2 l m n v -> Bool #

(>) :: OnEither k2 l m n v -> OnEither k2 l m n v -> Bool #

(>=) :: OnEither k2 l m n v -> OnEither k2 l m n v -> Bool #

max :: OnEither k2 l m n v -> OnEither k2 l m n v -> OnEither k2 l m n v #

min :: OnEither k2 l m n v -> OnEither k2 l m n v -> OnEither k2 l m n v #

newtype OnPair k l m n v Source #

Maps on pairs

Constructors

OnPair 

Fields

Instances

Instances details
(Mapping k m, Mapping l n, forall v. Ord v => Ord (n v)) => Mapping (k, l) (OnPair k l m n) Source # 
Instance details

Defined in Data.Mapping

Methods

cst :: v -> OnPair k l m n v Source #

act :: OnPair k l m n v -> (k, l) -> v Source #

isConst :: Ord v => OnPair k l m n v -> Maybe v Source #

mtraverse :: (Applicative f, Ord v) => (u -> f v) -> OnPair k l m n u -> f (OnPair k l m n v) Source #

mmap :: Ord v => (u -> v) -> OnPair k l m n u -> OnPair k l m n v Source #

mergeA :: (Applicative f, Ord w) => (u -> v -> f w) -> OnPair k l m n u -> OnPair k l m n v -> f (OnPair k l m n w) Source #

merge :: Ord w => (u -> v -> w) -> OnPair k l m n u -> OnPair k l m n v -> OnPair k l m n w Source #

(Foldable m, Foldable n) => Foldable (OnPair k3 l m n) Source # 
Instance details

Defined in Data.Mapping

Methods

fold :: Monoid m0 => OnPair k3 l m n m0 -> m0 #

foldMap :: Monoid m0 => (a -> m0) -> OnPair k3 l m n a -> m0 #

foldMap' :: Monoid m0 => (a -> m0) -> OnPair k3 l m n a -> m0 #

foldr :: (a -> b -> b) -> b -> OnPair k3 l m n a -> b #

foldr' :: (a -> b -> b) -> b -> OnPair k3 l m n a -> b #

foldl :: (b -> a -> b) -> b -> OnPair k3 l m n a -> b #

foldl' :: (b -> a -> b) -> b -> OnPair k3 l m n a -> b #

foldr1 :: (a -> a -> a) -> OnPair k3 l m n a -> a #

foldl1 :: (a -> a -> a) -> OnPair k3 l m n a -> a #

toList :: OnPair k3 l m n a -> [a] #

null :: OnPair k3 l m n a -> Bool #

length :: OnPair k3 l m n a -> Int #

elem :: Eq a => a -> OnPair k3 l m n a -> Bool #

maximum :: Ord a => OnPair k3 l m n a -> a #

minimum :: Ord a => OnPair k3 l m n a -> a #

sum :: Num a => OnPair k3 l m n a -> a #

product :: Num a => OnPair k3 l m n a -> a #

Eq (m (n v)) => Eq (OnPair k2 l m n v) Source # 
Instance details

Defined in Data.Mapping

Methods

(==) :: OnPair k2 l m n v -> OnPair k2 l m n v -> Bool #

(/=) :: OnPair k2 l m n v -> OnPair k2 l m n v -> Bool #

Ord (m (n v)) => Ord (OnPair k2 l m n v) Source # 
Instance details

Defined in Data.Mapping

Methods

compare :: OnPair k2 l m n v -> OnPair k2 l m n v -> Ordering #

(<) :: OnPair k2 l m n v -> OnPair k2 l m n v -> Bool #

(<=) :: OnPair k2 l m n v -> OnPair k2 l m n v -> Bool #

(>) :: OnPair k2 l m n v -> OnPair k2 l m n v -> Bool #

(>=) :: OnPair k2 l m n v -> OnPair k2 l m n v -> Bool #

max :: OnPair k2 l m n v -> OnPair k2 l m n v -> OnPair k2 l m n v #

min :: OnPair k2 l m n v -> OnPair k2 l m n v -> OnPair k2 l m n v #

isSubset :: Mapping k m => m Bool -> m Bool -> Bool Source #

isDisjoint :: Mapping k m => m Bool -> m Bool -> Bool Source #

newtype OrdWrapper k m v Source #

A wrapper to allow defining PartialOrd instances on mappings whose keys have an Ord instance.

Constructors

OrdWrapper 

Fields

Instances

Instances details
(Mapping k m, Ord v) => PartialOrd (OrdWrapper k m v) Source # 
Instance details

Defined in Data.Mapping

Methods

compare' :: OrdWrapper k m v -> OrdWrapper k m v -> PartialOrdering #

leq :: OrdWrapper k m v -> OrdWrapper k m v -> Bool #

geq :: OrdWrapper k m v -> OrdWrapper k m v -> Bool #

newtype PartialOrdWrapper k m v Source #

Constructors

PartialOrdWrapper 

Fields

Instances

Instances details
(Mapping k m, PartialOrd v) => PartialOrd (PartialOrdWrapper k m v) Source # 
Instance details

Defined in Data.Mapping