hgeometry-combinatorial
Copyright(C) Frank Staals
Licensesee the LICENSE file
MaintainerFrank Staals
Safe HaskellNone
LanguageGHC2021

HGeometry.Sequence.KV

Description

Sequences of key value pairs.

Synopsis

Documentation

newtype KV (f :: Type -> Type) k v Source #

An f of key value pairs

Constructors

KV (f (k, v)) 

Instances

Instances details
Foldable f => FoldableWithIndex k (KV f k) Source # 
Instance details

Defined in HGeometry.Sequence.KV

Methods

ifoldMap :: Monoid m => (k -> a -> m) -> KV f k a -> m Source #

ifoldMap' :: Monoid m => (k -> a -> m) -> KV f k a -> m Source #

ifoldr :: (k -> a -> b -> b) -> b -> KV f k a -> b Source #

ifoldl :: (k -> b -> a -> b) -> b -> KV f k a -> b Source #

ifoldr' :: (k -> a -> b -> b) -> b -> KV f k a -> b Source #

ifoldl' :: (k -> b -> a -> b) -> b -> KV f k a -> b Source #

Functor f => FunctorWithIndex k (KV f k) Source # 
Instance details

Defined in HGeometry.Sequence.KV

Methods

imap :: (k -> a -> b) -> KV f k a -> KV f k b Source #

Traversable f => TraversableWithIndex k (KV f k) Source # 
Instance details

Defined in HGeometry.Sequence.KV

Methods

itraverse :: Applicative f0 => (k -> a -> f0 b) -> KV f k a -> f0 (KV f k b) Source #

Foldable f => Bifoldable (KV f) Source # 
Instance details

Defined in HGeometry.Sequence.KV

Methods

bifold :: Monoid m => KV f m m -> m Source #

bifoldMap :: Monoid m => (a -> m) -> (b -> m) -> KV f a b -> m Source #

bifoldr :: (a -> c -> c) -> (b -> c -> c) -> c -> KV f a b -> c Source #

bifoldl :: (c -> a -> c) -> (c -> b -> c) -> c -> KV f a b -> c Source #

Functor f => Bifunctor (KV f) Source # 
Instance details

Defined in HGeometry.Sequence.KV

Methods

bimap :: (a -> b) -> (c -> d) -> KV f a c -> KV f b d Source #

first :: (a -> b) -> KV f a c -> KV f b c Source #

second :: (b -> c) -> KV f a b -> KV f a c Source #

Traversable f => Bitraversable (KV f) Source # 
Instance details

Defined in HGeometry.Sequence.KV

Methods

bitraverse :: Applicative f0 => (a -> f0 c) -> (b -> f0 d) -> KV f a b -> f0 (KV f c d) Source #

Eq1 f => Eq2 (KV f) Source # 
Instance details

Defined in HGeometry.Sequence.KV

Methods

liftEq2 :: (a -> b -> Bool) -> (c -> d -> Bool) -> KV f a c -> KV f b d -> Bool Source #

Ord1 f => Ord2 (KV f) Source # 
Instance details

Defined in HGeometry.Sequence.KV

Methods

liftCompare2 :: (a -> b -> Ordering) -> (c -> d -> Ordering) -> KV f a c -> KV f b d -> Ordering Source #

Show1 f => Show2 (KV f) Source # 
Instance details

Defined in HGeometry.Sequence.KV

Methods

liftShowsPrec2 :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> (Int -> b -> ShowS) -> ([b] -> ShowS) -> Int -> KV f a b -> ShowS Source #

liftShowList2 :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> (Int -> b -> ShowS) -> ([b] -> ShowS) -> [KV f a b] -> ShowS Source #

Foldable1 f => Foldable1 (KV f e) Source # 
Instance details

Defined in HGeometry.Sequence.KV

Methods

fold1 :: Semigroup m => KV f e m -> m Source #

foldMap1 :: Semigroup m => (a -> m) -> KV f e a -> m Source #

foldMap1' :: Semigroup m => (a -> m) -> KV f e a -> m Source #

toNonEmpty :: KV f e a -> NonEmpty a Source #

maximum :: Ord a => KV f e a -> a Source #

minimum :: Ord a => KV f e a -> a Source #

head :: KV f e a -> a Source #

last :: KV f e a -> a Source #

foldrMap1 :: (a -> b) -> (a -> b -> b) -> KV f e a -> b Source #

foldlMap1' :: (a -> b) -> (b -> a -> b) -> KV f e a -> b Source #

foldlMap1 :: (a -> b) -> (b -> a -> b) -> KV f e a -> b Source #

foldrMap1' :: (a -> b) -> (a -> b -> b) -> KV f e a -> b Source #

(Eq1 f, Eq k) => Eq1 (KV f k) Source # 
Instance details

Defined in HGeometry.Sequence.KV

Methods

liftEq :: (a -> b -> Bool) -> KV f k a -> KV f k b -> Bool Source #

(Ord1 f, Ord k) => Ord1 (KV f k) Source # 
Instance details

Defined in HGeometry.Sequence.KV

Methods

liftCompare :: (a -> b -> Ordering) -> KV f k a -> KV f k b -> Ordering Source #

(Show1 f, Show k) => Show1 (KV f k) Source # 
Instance details

Defined in HGeometry.Sequence.KV

Methods

liftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> KV f k a -> ShowS Source #

liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [KV f k a] -> ShowS Source #

Functor f => Functor (KV f k) Source # 
Instance details

Defined in HGeometry.Sequence.KV

Methods

fmap :: (a -> b) -> KV f k a -> KV f k b Source #

(<$) :: a -> KV f k b -> KV f k a Source #

Foldable f => Foldable (KV f k) Source # 
Instance details

Defined in HGeometry.Sequence.KV

Methods

fold :: Monoid m => KV f k m -> m Source #

foldMap :: Monoid m => (a -> m) -> KV f k a -> m Source #

foldMap' :: Monoid m => (a -> m) -> KV f k a -> m Source #

foldr :: (a -> b -> b) -> b -> KV f k a -> b Source #

foldr' :: (a -> b -> b) -> b -> KV f k a -> b Source #

foldl :: (b -> a -> b) -> b -> KV f k a -> b Source #

foldl' :: (b -> a -> b) -> b -> KV f k a -> b Source #

foldr1 :: (a -> a -> a) -> KV f k a -> a Source #

foldl1 :: (a -> a -> a) -> KV f k a -> a Source #

toList :: KV f k a -> [a] Source #

null :: KV f k a -> Bool Source #

length :: KV f k a -> Int Source #

elem :: Eq a => a -> KV f k a -> Bool Source #

maximum :: Ord a => KV f k a -> a Source #

minimum :: Ord a => KV f k a -> a Source #

sum :: Num a => KV f k a -> a Source #

product :: Num a => KV f k a -> a Source #

Traversable f => Traversable (KV f k) Source # 
Instance details

Defined in HGeometry.Sequence.KV

Methods

traverse :: Applicative f0 => (a -> f0 b) -> KV f k a -> f0 (KV f k b) Source #

sequenceA :: Applicative f0 => KV f k (f0 a) -> f0 (KV f k a) Source #

mapM :: Monad m => (a -> m b) -> KV f k a -> m (KV f k b) Source #

sequence :: Monad m => KV f k (m a) -> m (KV f k a) Source #

Traversable1 f => Traversable1 (KV f e) Source # 
Instance details

Defined in HGeometry.Sequence.KV

Methods

traverse1 :: Apply f0 => (a -> f0 b) -> KV f e a -> f0 (KV f e b) Source #

sequence1 :: Apply f0 => KV f e (f0 b) -> f0 (KV f e b) Source #

Monoid (f (k, v)) => Monoid (KV f k v) Source # 
Instance details

Defined in HGeometry.Sequence.KV

Methods

mempty :: KV f k v Source #

mappend :: KV f k v -> KV f k v -> KV f k v Source #

mconcat :: [KV f k v] -> KV f k v Source #

Semigroup (f (k, v)) => Semigroup (KV f k v) Source # 
Instance details

Defined in HGeometry.Sequence.KV

Methods

(<>) :: KV f k v -> KV f k v -> KV f k v Source #

sconcat :: NonEmpty (KV f k v) -> KV f k v Source #

stimes :: Integral b => b -> KV f k v -> KV f k v Source #

(Show k, Show v, Show1 f) => Show (KV f k v) Source # 
Instance details

Defined in HGeometry.Sequence.KV

Methods

showsPrec :: Int -> KV f k v -> ShowS Source #

show :: KV f k v -> String Source #

showList :: [KV f k v] -> ShowS Source #

(Eq k, Eq v, Eq1 f) => Eq (KV f k v) Source # 
Instance details

Defined in HGeometry.Sequence.KV

Methods

(==) :: KV f k v -> KV f k v -> Bool Source #

(/=) :: KV f k v -> KV f k v -> Bool Source #

(Ord k, Ord v, Ord1 f) => Ord (KV f k v) Source # 
Instance details

Defined in HGeometry.Sequence.KV

Methods

compare :: KV f k v -> KV f k v -> Ordering Source #

(<) :: KV f k v -> KV f k v -> Bool Source #

(<=) :: KV f k v -> KV f k v -> Bool Source #

(>) :: KV f k v -> KV f k v -> Bool Source #

(>=) :: KV f k v -> KV f k v -> Bool Source #

max :: KV f k v -> KV f k v -> KV f k v Source #

min :: KV f k v -> KV f k v -> KV f k v Source #

assocs :: Foldable f => KV f k v -> f (k, v) Source #

Get the data as an f of (k,v) pairs.

empty :: forall (f :: Type -> Type) k v. Monoid (f (k, v)) => KV f k v Source #

Produce an empty structure