definitive-base-2.6.3: A small Prelude wrapper to simplify my own Haskell developments

Safe HaskellNone
LanguageHaskell2010

Data.Containers

Contents

Synopsis

The basic data class

class Monoid m => DataMap m k a | m -> k a where Source #

Minimal complete definition

at

Methods

at :: k -> Lens' m (Maybe a) Source #

Instances

Eq k => DataMap [(k, a)] k a Source # 

Methods

at :: k -> Lens' [(k, a)] (Maybe a) Source #

Ord a => DataMap (Set a) a Void Source # 

Methods

at :: a -> Lens' (Set a) (Maybe Void) Source #

Ord k => DataMap (Map k a) k a Source # 

Methods

at :: k -> Lens' (Map k a) (Maybe a) Source #

(Ord a, Ord b) => DataMap (Bimap a b) a b Source # 

Methods

at :: a -> Lens' (Bimap a b) (Maybe b) Source #

(Ord a, Monoid e) => DataMap (Equiv e a) a (Map a e) Source # 

Methods

at :: a -> Lens' (Equiv e a) (Maybe (Map a e)) Source #

DataMap (f (Free f a)) k (Free f a) => DataMap (Free f a) [k] (Free f a) Source # 

Methods

at :: [k] -> Lens' (Free f a) (Maybe (Free f a)) Source #

(Ord b, Ord a) => DataMap (Flip Bimap b a) b a Source # 

Methods

at :: b -> Lens' (Flip Bimap b a) (Maybe a) Source #

(Ord a, Ord b) => DataMap (Relation e a b) a (Map b e) Source # 

Methods

at :: a -> Lens' (Relation e a b) (Maybe (Map b e)) Source #

(Applicative f, DataMap (g a) k' a, DataMap (f (g a)) k (g a)) => DataMap ((:.:) f g a) (k, k') a Source # 

Methods

at :: (k, k') -> Lens' ((f :.: g) a) (Maybe a) Source #

class (DataMap r a (Map b e), DataMap r' b (Map a e)) => DataRel r r' e a b | r -> r' e a b where Source #

Minimal complete definition

i'inverseRel

Methods

i'inverseRel :: Iso' r r' Source #

Instances

(Ord a, Monoid e) => DataRel (Equiv e a) (Equiv e a) e a a Source # 

Methods

i'inverseRel :: Iso' (Equiv e a) (Equiv e a) Source #

(Ord a, Ord b) => DataRel (Relation e a b) (Relation e b a) e a b Source # 

Methods

i'inverseRel :: Iso' (Relation e a b) (Relation e b a) Source #

class Indexed f i | f -> i where Source #

Minimal complete definition

keyed

Methods

keyed :: Iso (f (i, a)) (f (i, b)) (f a) (f b) Source #

Instances

Indexed [] Int Source # 

Methods

keyed :: (Functor f, Bifunctor p) => p [(Int, a)] (f [(Int, b)]) -> p [a] (f [b]) Source #

Indexed (Map k) k Source # 

Methods

keyed :: (Functor f, Bifunctor p) => p (Map k (k, a)) (f (Map k (k, b))) -> p (Map k a) (f (Map k b)) Source #

class OrderedMap m k a | m -> k a where Source #

Minimal complete definition

ascList, nearest

Methods

ascList :: Iso' m [(k, a)] Source #

nearest :: (Bool, Ordering) -> k -> m -> Maybe (k, a) Source #

Instances

Ord a => OrderedMap (Set a) a Void Source # 

Methods

ascList :: Iso' (Set a) [(a, Void)] Source #

nearest :: (Bool, Ordering) -> a -> Set a -> Maybe (a, Void) Source #

Ord k => OrderedMap (Map k a) k a Source # 

Methods

ascList :: Iso' (Map k a) [(k, a)] Source #

nearest :: (Bool, Ordering) -> k -> Map k a -> Maybe (k, a) Source #

(Ord a, Ord b) => OrderedMap (Bimap a b) a b Source # 

Methods

ascList :: Iso' (Bimap a b) [(a, b)] Source #

nearest :: (Bool, Ordering) -> a -> Bimap a b -> Maybe (a, b) Source #

class Container c where Source #

Minimal complete definition

weight

Methods

weight :: c a -> Int Source #

Instances

Container [] Source # 

Methods

weight :: [a] -> Int Source #

Container Set Source # 

Methods

weight :: Set a -> Int Source #

Container (Map k) Source # 

Methods

weight :: Map k a -> Int Source #

mat :: (DataMap m k a, Monoid a) => k -> Lens' m a Source #

lookup :: DataMap m k a => k -> m -> Maybe a Source #

mlookup :: (DataMap m k a, Monoid a) => k -> m -> a Source #

isKeyIn :: DataMap m k a => k -> m -> Bool Source #

member :: DataMap m k Void => k -> Lens' m Bool Source #

delete :: DataMap m k a => k -> m -> m Source #

touch :: (Monoid a, DataMap m k a) => k -> m -> m Source #

insert :: DataMap m k a => k -> a -> m -> m Source #

singleton :: DataMap m k a => k -> a -> m Source #

singleton' :: (Monoid a, DataMap m k a) => k -> m Source #

fromAList :: DataMap m k a => [(k, a)] -> m Source #

fromKList :: (Monoid a, DataMap m k a) => [k] -> m Source #

fromMAList :: (Monoid a, DataMap m k a) => [(k, a)] -> m Source #

(#) :: DataMap m k a => m -> [(k, a)] -> m Source #

(#?) :: (Ord a, Ord b) => Relation e a b -> [(a, e, b)] -> Relation e a b Source #

(#?-) :: (Ord a, Ord b, Monoid e) => Relation e a b -> [(a, b)] -> Relation e a b Source #

cached :: forall a b. Ord a => (a -> b) -> a -> b Source #

keys :: OrderedMap m k a => m -> [k] Source #

keysSet :: (Ord k, OrderedMap m k a) => m -> Set k Source #

Map instances

Sets and maps

data Set a :: * -> * #

A set of values a.

Instances

Foldable Set 

Methods

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

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

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

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

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

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

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

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

toList :: Set a -> [a] #

null :: Set a -> Bool #

length :: Set a -> Int #

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

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

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

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

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

Container Set Source # 

Methods

weight :: Set a -> Int Source #

Ord a => IsList (Set a) 

Associated Types

type Item (Set a) :: * #

Methods

fromList :: [Item (Set a)] -> Set a #

fromListN :: Int -> [Item (Set a)] -> Set a #

toList :: Set a -> [Item (Set a)] #

Eq a => Eq (Set a) 

Methods

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

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

(Data a, Ord a) => Data (Set a) 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Set a -> c (Set a) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Set a) #

toConstr :: Set a -> Constr #

dataTypeOf :: Set a -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c (Set a)) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Set a)) #

gmapT :: (forall b. Data b => b -> b) -> Set a -> Set a #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Set a -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Set a -> r #

gmapQ :: (forall d. Data d => d -> u) -> Set a -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Set a -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Set a -> m (Set a) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Set a -> m (Set a) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Set a -> m (Set a) #

Ord a => Ord (Set a) 

Methods

compare :: Set a -> Set a -> Ordering #

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

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

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

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

max :: Set a -> Set a -> Set a #

min :: Set a -> Set a -> Set a #

(Read a, Ord a) => Read (Set a) 
Show a => Show (Set a) 

Methods

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

show :: Set a -> String #

showList :: [Set a] -> ShowS #

Ord a => Semigroup (Set a) 

Methods

(<>) :: Set a -> Set a -> Set a #

sconcat :: NonEmpty (Set a) -> Set a #

stimes :: Integral b => b -> Set a -> Set a #

Ord a => Monoid (Set a) 

Methods

mempty :: Set a #

mappend :: Set a -> Set a -> Set a #

mconcat :: [Set a] -> Set a #

NFData a => NFData (Set a) 

Methods

rnf :: Set a -> () #

Ord a => OrderedMap (Set a) a Void Source # 

Methods

ascList :: Iso' (Set a) [(a, Void)] Source #

nearest :: (Bool, Ordering) -> a -> Set a -> Maybe (a, Void) Source #

Ord a => DataMap (Set a) a Void Source # 

Methods

at :: a -> Lens' (Set a) (Maybe Void) Source #

type Item (Set a) 
type Item (Set a) = a

data Map k a :: * -> * -> * #

A Map from keys k to values a.

Instances

Functor (Map k) 

Methods

fmap :: (a -> b) -> Map k a -> Map k b #

(<$) :: a -> Map k b -> Map k a #

Foldable (Map k) 

Methods

fold :: Monoid m => Map k m -> m #

foldMap :: Monoid m => (a -> m) -> Map k a -> m #

foldr :: (a -> b -> b) -> b -> Map k a -> b #

foldr' :: (a -> b -> b) -> b -> Map k a -> b #

foldl :: (b -> a -> b) -> b -> Map k a -> b #

foldl' :: (b -> a -> b) -> b -> Map k a -> b #

foldr1 :: (a -> a -> a) -> Map k a -> a #

foldl1 :: (a -> a -> a) -> Map k a -> a #

toList :: Map k a -> [a] #

null :: Map k a -> Bool #

length :: Map k a -> Int #

elem :: Eq a => a -> Map k a -> Bool #

maximum :: Ord a => Map k a -> a #

minimum :: Ord a => Map k a -> a #

sum :: Num a => Map k a -> a #

product :: Num a => Map k a -> a #

Traversable (Map k) 

Methods

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

sequenceA :: Applicative f => Map k (f a) -> f (Map k a) #

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

sequence :: Monad m => Map k (m a) -> m (Map k a) #

Container (Map k) Source # 

Methods

weight :: Map k a -> Int Source #

Indexed (Map k) k Source # 

Methods

keyed :: (Functor f, Bifunctor p) => p (Map k (k, a)) (f (Map k (k, b))) -> p (Map k a) (f (Map k b)) Source #

Ord k => IsList (Map k v) 

Associated Types

type Item (Map k v) :: * #

Methods

fromList :: [Item (Map k v)] -> Map k v #

fromListN :: Int -> [Item (Map k v)] -> Map k v #

toList :: Map k v -> [Item (Map k v)] #

(Eq k, Eq a) => Eq (Map k a) 

Methods

(==) :: Map k a -> Map k a -> Bool #

(/=) :: Map k a -> Map k a -> Bool #

(Data k, Data a, Ord k) => Data (Map k a) 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Map k a -> c (Map k a) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Map k a) #

toConstr :: Map k a -> Constr #

dataTypeOf :: Map k a -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c (Map k a)) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Map k a)) #

gmapT :: (forall b. Data b => b -> b) -> Map k a -> Map k a #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Map k a -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Map k a -> r #

gmapQ :: (forall d. Data d => d -> u) -> Map k a -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Map k a -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Map k a -> m (Map k a) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Map k a -> m (Map k a) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Map k a -> m (Map k a) #

(Ord k, Ord v) => Ord (Map k v) 

Methods

compare :: Map k v -> Map k v -> Ordering #

(<) :: Map k v -> Map k v -> Bool #

(<=) :: Map k v -> Map k v -> Bool #

(>) :: Map k v -> Map k v -> Bool #

(>=) :: Map k v -> Map k v -> Bool #

max :: Map k v -> Map k v -> Map k v #

min :: Map k v -> Map k v -> Map k v #

(Ord k, Read k, Read e) => Read (Map k e) 

Methods

readsPrec :: Int -> ReadS (Map k e) #

readList :: ReadS [Map k e] #

readPrec :: ReadPrec (Map k e) #

readListPrec :: ReadPrec [Map k e] #

(Show k, Show a) => Show (Map k a) 

Methods

showsPrec :: Int -> Map k a -> ShowS #

show :: Map k a -> String #

showList :: [Map k a] -> ShowS #

Ord k => Semigroup (Map k v) 

Methods

(<>) :: Map k v -> Map k v -> Map k v #

sconcat :: NonEmpty (Map k v) -> Map k v #

stimes :: Integral b => b -> Map k v -> Map k v #

Ord k => Monoid (Map k v) 

Methods

mempty :: Map k v #

mappend :: Map k v -> Map k v -> Map k v #

mconcat :: [Map k v] -> Map k v #

(NFData k, NFData a) => NFData (Map k a) 

Methods

rnf :: Map k a -> () #

Ord k => OrderedMap (Map k a) k a Source # 

Methods

ascList :: Iso' (Map k a) [(k, a)] Source #

nearest :: (Bool, Ordering) -> k -> Map k a -> Maybe (k, a) Source #

Ord k => DataMap (Map k a) k a Source # 

Methods

at :: k -> Lens' (Map k a) (Maybe a) Source #

(Ord a, Monoid e) => DataMap (Equiv e a) a (Map a e) Source # 

Methods

at :: a -> Lens' (Equiv e a) (Maybe (Map a e)) Source #

(Ord a, Ord b) => DataMap (Relation e a b) a (Map b e) Source # 

Methods

at :: a -> Lens' (Relation e a b) (Maybe (Map b e)) Source #

type Item (Map k v) 
type Item (Map k v) = (k, v)

Bimaps

data Bimap a b Source #

An invertible map

Instances

Commutative Bimap Source # 

Methods

commute :: Bimap a b -> Bimap b a Source #

(Show b, Show a) => Show (Bimap a b) Source # 

Methods

showsPrec :: Int -> Bimap a b -> ShowS #

show :: Bimap a b -> String #

showList :: [Bimap a b] -> ShowS #

Generic (Bimap a b) Source # 

Associated Types

type Rep (Bimap a b) :: * -> * #

Methods

from :: Bimap a b -> Rep (Bimap a b) x #

to :: Rep (Bimap a b) x -> Bimap a b #

(NFData b, NFData a) => NFData (Bimap a b) Source # 

Methods

rnf :: Bimap a b -> () #

(Semigroup a, Semigroup b, Ord b, Ord a) => Semiring (Bimap a b) Source # 

Methods

(*) :: Bimap a b -> Bimap a b -> Bimap a b Source #

(Ord b, Ord a) => Disjonctive (Bimap a b) Source # 

Methods

negate :: Bimap a b -> Bimap a b Source #

(-) :: Bimap a b -> Bimap a b -> Bimap a b Source #

(Ord b, Ord a) => Monoid (Bimap a b) Source # 

Methods

zero :: Bimap a b Source #

(Ord b, Ord a) => Semigroup (Bimap a b) Source # 

Methods

(+) :: Bimap a b -> Bimap a b -> Bimap a b Source #

(Ord a, Ord b) => OrderedMap (Bimap a b) a b Source # 

Methods

ascList :: Iso' (Bimap a b) [(a, b)] Source #

nearest :: (Bool, Ordering) -> a -> Bimap a b -> Maybe (a, b) Source #

(Ord a, Ord b) => DataMap (Bimap a b) a b Source # 

Methods

at :: a -> Lens' (Bimap a b) (Maybe b) Source #

(Ord b, Ord a) => DataMap (Flip Bimap b a) b a Source # 

Methods

at :: b -> Lens' (Flip Bimap b a) (Maybe a) Source #

type Rep (Bimap a b) Source # 
type Rep (Bimap a b) = D1 (MetaData "Bimap" "Data.Containers" "definitive-base-2.6.3-BgsdD2KswOiCr4UTIn8qyI" True) (C1 (MetaCons "Bimap" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Map a b, Map b a))))

toMap :: Bimap a b -> Map a b Source #

Relations

data Relation e a b Source #

Instances

Commutative (Relation e) Source # 

Methods

commute :: Relation e a b -> Relation e b a Source #

(Eq e, Eq b, Eq a) => Eq (Relation e a b) Source # 

Methods

(==) :: Relation e a b -> Relation e a b -> Bool #

(/=) :: Relation e a b -> Relation e a b -> Bool #

(Ord e, Ord b, Ord a) => Ord (Relation e a b) Source # 

Methods

compare :: Relation e a b -> Relation e a b -> Ordering #

(<) :: Relation e a b -> Relation e a b -> Bool #

(<=) :: Relation e a b -> Relation e a b -> Bool #

(>) :: Relation e a b -> Relation e a b -> Bool #

(>=) :: Relation e a b -> Relation e a b -> Bool #

max :: Relation e a b -> Relation e a b -> Relation e a b #

min :: Relation e a b -> Relation e a b -> Relation e a b #

(Show e, Show b, Show a) => Show (Relation e a b) Source # 

Methods

showsPrec :: Int -> Relation e a b -> ShowS #

show :: Relation e a b -> String #

showList :: [Relation e a b] -> ShowS #

Generic (Relation e a b) Source # 

Associated Types

type Rep (Relation e a b) :: * -> * #

Methods

from :: Relation e a b -> Rep (Relation e a b) x #

to :: Rep (Relation e a b) x -> Relation e a b #

(NFData e, NFData b, NFData a) => NFData (Relation e a b) Source # 

Methods

rnf :: Relation e a b -> () #

(Semigroup e, Ord a, Ord b) => Semiring (Relation e a b) Source # 

Methods

(*) :: Relation e a b -> Relation e a b -> Relation e a b Source #

(Ord a, Ord b) => Monoid (Relation e a b) Source # 

Methods

zero :: Relation e a b Source #

(Ord a, Ord b) => Semigroup (Relation e a b) Source # 

Methods

(+) :: Relation e a b -> Relation e a b -> Relation e a b Source #

(Ord a, Ord b) => DataMap (Relation e a b) a (Map b e) Source # 

Methods

at :: a -> Lens' (Relation e a b) (Maybe (Map b e)) Source #

(Ord a, Ord b) => DataRel (Relation e a b) (Relation e b a) e a b Source # 

Methods

i'inverseRel :: Iso' (Relation e a b) (Relation e b a) Source #

type Rep (Relation e a b) Source # 
type Rep (Relation e a b) = D1 (MetaData "Relation" "Data.Containers" "definitive-base-2.6.3-BgsdD2KswOiCr4UTIn8qyI" True) (C1 (MetaCons "Relation" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Map a (Map b e), Map b (Map a e)))))

newtype Equiv e a Source #

Constructors

Equiv (Relation e a a) 

Instances

(Show e, Monoid e, Ord a, Show a) => Show (Equiv e a) Source # 

Methods

showsPrec :: Int -> Equiv e a -> ShowS #

show :: Equiv e a -> String #

showList :: [Equiv e a] -> ShowS #

Generic (Equiv e a) Source # 

Associated Types

type Rep (Equiv e a) :: * -> * #

Methods

from :: Equiv e a -> Rep (Equiv e a) x #

to :: Rep (Equiv e a) x -> Equiv e a #

(NFData a, NFData e) => NFData (Equiv e a) Source # 

Methods

rnf :: Equiv e a -> () #

(Monoid e, Ord a) => Monoid (Equiv e a) Source # 

Methods

zero :: Equiv e a Source #

(Monoid e, Ord a) => Semigroup (Equiv e a) Source # 

Methods

(+) :: Equiv e a -> Equiv e a -> Equiv e a Source #

(Ord a, Monoid e) => DataMap (Equiv e a) a (Map a e) Source # 

Methods

at :: a -> Lens' (Equiv e a) (Maybe (Map a e)) Source #

(Ord a, Monoid e) => DataRel (Equiv e a) (Equiv e a) e a a Source # 

Methods

i'inverseRel :: Iso' (Equiv e a) (Equiv e a) Source #

type Rep (Equiv e a) Source # 
type Rep (Equiv e a) = D1 (MetaData "Equiv" "Data.Containers" "definitive-base-2.6.3-BgsdD2KswOiCr4UTIn8qyI" True) (C1 (MetaCons "Equiv" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Relation e a a))))

i'domains :: (Ord c, Ord d) => Iso (Map b (Map a e)) (Map d (Map c e')) (Relation e a b) (Relation e' c d) Source #

Define a Relation from its ranges. O(1) - O(1,n*ln(n))

i'ranges :: (Ord c, Ord d) => Iso (Map a (Map b e)) (Map c (Map d e')) (Relation e a b) (Relation e' c d) Source #

Define a Relation from its domains.

l'range :: (DataRel r r' e a b, Ord b) => a -> Lens' r (Map b e) Source #

l'domain :: (DataRel r r' e a b, Ord a) => b -> Lens' r (Map a e) Source #

l'rangeSet :: (DataRel r r' e a b, Ord b, Monoid e) => a -> Lens' r (Set b) Source #

l'domainSet :: (DataRel r r' e a b, Ord a, Monoid e) => b -> Lens' r (Set a) Source #

link :: (DataRel r r' e a b, Ord b) => a -> b -> Lens' r (Maybe e) Source #

linkP :: (DataRel r r' e a b, Ord b, Monoid e) => a -> b -> Lens' r Bool Source #

mapEdges :: (Ord a, Ord b) => MapRelationEdges a b e e' Source #

mapEdgesMonotonic :: (Ord a, Ord b, Eq e, Eq e') => MapRelationEdges a b e e' Source #

mapEquivEdges :: Ord a => (a -> Maybe a) -> (e -> Maybe e') -> Equiv e a -> Equiv e' a Source #

mapEquivEdgesMonotonic :: (Ord a, Eq e, Eq e') => (a -> Maybe a) -> (e -> Maybe e') -> Equiv e a -> Equiv e' a Source #

(*>>>) :: (Ord a, Ord b, Ord c) => Relation e a b -> Relation e b c -> Relation e a c Source #

i'mapSet :: (Ord a, Ord b, Monoid n) => Iso (Set a) (Set b) (Map a m) (Map b n) Source #

Orphan instances

Foldable Set Source # 

Methods

fold :: Monoid m => Set m -> m Source #

Functor Set Source # 

Methods

map :: (a -> b) -> Set a -> Set b Source #

Ord b => Compound a b (Set a) (Set b) Source # 

Methods

each :: Traversal a b (Set a) (Set b) Source #

Ord a => Semiring (Set a) Source # 

Methods

(*) :: Set a -> Set a -> Set a Source #

Ord a => Disjonctive (Set a) Source # 

Methods

negate :: Set a -> Set a Source #

(-) :: Set a -> Set a -> Set a Source #

Ord a => Monoid (Set a) Source # 

Methods

zero :: Set a Source #

Ord a => Semigroup (Set a) Source # 

Methods

(+) :: Set a -> Set a -> Set a Source #

Ord k => Traversable (Map k) Source # 

Methods

sequence :: Applicative f => Map k (f a) -> f (Map k a) Source #

Foldable (Map k) Source # 

Methods

fold :: Monoid m => Map k m -> m Source #

Ord k => SemiApplicative (Zip (Map k)) Source # 

Methods

(<*>) :: Zip (Map k) (a -> b) -> Zip (Map k) a -> Zip (Map k) b Source #

Functor (Map k) Source # 

Methods

map :: (a -> b) -> Map k a -> Map k b Source #

(Ord k, Semigroup a) => Semiring (Map k a) Source # 

Methods

(*) :: Map k a -> Map k a -> Map k a Source #

Ord k => Disjonctive (Map k a) Source # 

Methods

negate :: Map k a -> Map k a Source #

(-) :: Map k a -> Map k a -> Map k a Source #

Ord k => Monoid (Map k a) Source # 

Methods

zero :: Map k a Source #

Ord k => Semigroup (Map k a) Source # 

Methods

(+) :: Map k a -> Map k a -> Map k a Source #