Safe Haskell | None |
---|---|
Language | Haskell2010 |
- class Monoid m => DataMap m k a | m -> k a where
- 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
- class Indexed f i | f -> i where
- class OrderedMap m k a | m -> k a where
- class Container c where
- mat :: (DataMap m k a, Monoid a) => k -> Lens' m a
- lookup :: DataMap m k a => k -> m -> Maybe a
- mlookup :: (DataMap m k a, Monoid a) => k -> m -> a
- isKeyIn :: DataMap m k a => k -> m -> Bool
- member :: DataMap m k Void => k -> Lens' m Bool
- delete :: DataMap m k a => k -> m -> m
- touch :: (Monoid a, DataMap m k a) => k -> m -> m
- insert :: DataMap m k a => k -> a -> m -> m
- singleton :: DataMap m k a => k -> a -> m
- singleton' :: (Monoid a, DataMap m k a) => k -> m
- fromAList :: DataMap m k a => [(k, a)] -> m
- fromKList :: (Monoid a, DataMap m k a) => [k] -> m
- fromMAList :: (Monoid a, DataMap m k a) => [(k, a)] -> m
- (#) :: DataMap m k a => m -> [(k, a)] -> m
- (#?) :: (Ord a, Ord b) => Relation e a b -> [(a, e, b)] -> Relation e a b
- (#?-) :: (Ord a, Ord b, Monoid e) => Relation e a b -> [(a, b)] -> Relation e a b
- cached :: forall a b. Ord a => (a -> b) -> a -> b
- keys :: OrderedMap m k a => m -> [k]
- keysSet :: (Ord k, OrderedMap m k a) => m -> Set k
- data Set a :: * -> *
- data Map k a :: * -> * -> *
- c'setOf :: Constraint a -> Constraint (Set a)
- c'set :: Constraint (Set a)
- c'mapOf :: Constraint a -> Constraint b -> Constraint (Map a b)
- c'map :: Constraint (Map a b)
- c'bimapOf :: Constraint a -> Constraint b -> Constraint (Bimap a b)
- c'bimap :: Constraint (Bimap a b)
- c'Relation :: Constraint e -> Constraint a -> Constraint b -> Constraint (Relation e a b)
- data Bimap a b
- toMap :: Bimap a b -> Map a b
- data Relation e a b
- newtype Equiv e a = Equiv (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)
- 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)
- l'range :: (DataRel r r' e a b, Ord b) => a -> Lens' r (Map b e)
- l'domain :: (DataRel r r' e a b, Ord a) => b -> Lens' r (Map a e)
- l'rangeSet :: (DataRel r r' e a b, Ord b, Monoid e) => a -> Lens' r (Set b)
- l'domainSet :: (DataRel r r' e a b, Ord a, Monoid e) => b -> Lens' r (Set a)
- link :: (DataRel r r' e a b, Ord b) => a -> b -> Lens' r (Maybe e)
- linkP :: (DataRel r r' e a b, Ord b, Monoid e) => a -> b -> Lens' r Bool
- mapEdges :: (Ord a, Ord b) => MapRelationEdges a b e e'
- mapEdgesMonotonic :: (Ord a, Ord b, Eq e, Eq e') => MapRelationEdges a b e e'
- mapEquivEdges :: Ord a => (a -> Maybe a) -> (e -> Maybe e') -> Equiv e a -> Equiv e' a
- mapEquivEdgesMonotonic :: (Ord a, Eq e, Eq e') => (a -> Maybe a) -> (e -> Maybe e') -> Equiv e a -> Equiv e' a
- (*>>>) :: (Ord a, Ord b, Ord c) => Relation e a b -> Relation e b c -> Relation e a c
- i'mapSet :: (Ord a, Ord b, Monoid n) => Iso (Set a) (Set b) (Map a m) (Map b n)
- i'boolMay :: Monoid m => Iso' Bool (Maybe m)
The basic data class
class Monoid m => DataMap m k a | m -> k a where Source #
Eq k => DataMap [(k, a)] k a Source # | |
Ord a => DataMap (Set a) a Void Source # | |
Ord k => DataMap (Map k a) k a Source # | |
(Ord a, Ord b) => DataMap (Bimap a b) a b Source # | |
(Ord a, Monoid e) => DataMap (Equiv e a) a (Map a e) Source # | |
DataMap (f (Free f a)) k (Free f a) => DataMap (Free f a) [k] (Free f a) Source # | |
(Ord b, Ord a) => DataMap (Flip Bimap b a) b a Source # | |
(Ord a, Ord b) => DataMap (Relation e a b) a (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 # | |
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 #
i'inverseRel :: Iso' r r' Source #
class OrderedMap m k a | m -> k a where Source #
singleton' :: (Monoid a, DataMap m k a) => k -> m Source #
fromMAList :: (Monoid a, DataMap m k a) => [(k, a)] -> m Source #
keys :: OrderedMap m k a => m -> [k] Source #
Map instances
Sets and maps
A set of values a
.
Foldable Set | |
Container Set Source # | |
Ord a => IsList (Set a) | |
Eq a => Eq (Set a) | |
(Data a, Ord a) => Data (Set a) | |
Ord a => Ord (Set a) | |
(Read a, Ord a) => Read (Set a) | |
Show a => Show (Set a) | |
Ord a => Semigroup (Set a) | |
Ord a => Monoid (Set a) | |
NFData a => NFData (Set a) | |
Ord a => OrderedMap (Set a) a Void Source # | |
Ord a => DataMap (Set a) a Void Source # | |
type Item (Set a) | |
A Map from keys k
to values a
.
Functor (Map k) | |
Foldable (Map k) | |
Traversable (Map k) | |
Container (Map k) Source # | |
Indexed (Map k) k Source # | |
Ord k => IsList (Map k v) | |
(Eq k, Eq a) => Eq (Map k a) | |
(Data k, Data a, Ord k) => Data (Map k a) | |
(Ord k, Ord v) => Ord (Map k v) | |
(Ord k, Read k, Read e) => Read (Map k e) | |
(Show k, Show a) => Show (Map k a) | |
Ord k => Semigroup (Map k v) | |
Ord k => Monoid (Map k v) | |
(NFData k, NFData a) => NFData (Map k a) | |
Ord k => OrderedMap (Map k a) k a Source # | |
Ord k => DataMap (Map k a) k a Source # | |
(Ord a, Monoid e) => DataMap (Equiv e a) a (Map a e) Source # | |
(Ord a, Ord b) => DataMap (Relation e a b) a (Map b e) Source # | |
type Item (Map k v) | |
c'setOf :: Constraint a -> Constraint (Set a) Source #
c'set :: Constraint (Set a) Source #
c'mapOf :: Constraint a -> Constraint b -> Constraint (Map a b) Source #
c'map :: Constraint (Map a b) Source #
c'bimapOf :: Constraint a -> Constraint b -> Constraint (Bimap a b) Source #
c'bimap :: Constraint (Bimap a b) Source #
c'Relation :: Constraint e -> Constraint a -> Constraint b -> Constraint (Relation e a b) Source #
Bimaps
An invertible map
Commutative Bimap Source # | |
(Show b, Show a) => Show (Bimap a b) Source # | |
Generic (Bimap a b) Source # | |
(NFData b, NFData a) => NFData (Bimap a b) Source # | |
(Semigroup a, Semigroup b, Ord b, Ord a) => Semiring (Bimap a b) Source # | |
(Ord b, Ord a) => Disjonctive (Bimap a b) Source # | |
(Ord b, Ord a) => Monoid (Bimap a b) Source # | |
(Ord b, Ord a) => Semigroup (Bimap a b) Source # | |
(Ord a, Ord b) => OrderedMap (Bimap a b) a b Source # | |
(Ord a, Ord b) => DataMap (Bimap a b) a b Source # | |
(Ord b, Ord a) => DataMap (Flip Bimap b a) b a Source # | |
type Rep (Bimap a b) Source # | |
Relations
Commutative (Relation e) Source # | |
(Eq e, Eq b, Eq a) => Eq (Relation e a b) Source # | |
(Ord e, Ord b, Ord a) => Ord (Relation e a b) Source # | |
(Show e, Show b, Show a) => Show (Relation e a b) Source # | |
Generic (Relation e a b) Source # | |
(NFData e, NFData b, NFData a) => NFData (Relation e a b) Source # | |
(Semigroup e, Ord a, Ord b) => Semiring (Relation e a b) Source # | |
(Ord a, Ord b) => Monoid (Relation e a b) Source # | |
(Ord a, Ord b) => Semigroup (Relation e a b) Source # | |
(Ord a, Ord b) => DataMap (Relation e a b) a (Map b e) Source # | |
(Ord a, Ord b) => DataRel (Relation e a b) (Relation e b a) e a b Source # | |
type Rep (Relation e a b) Source # | |
(Show e, Monoid e, Ord a, Show a) => Show (Equiv e a) Source # | |
Generic (Equiv e a) Source # | |
(NFData a, NFData e) => NFData (Equiv e a) Source # | |
(Monoid e, Ord a) => Monoid (Equiv e a) Source # | |
(Monoid e, Ord a) => Semigroup (Equiv e a) Source # | |
(Ord a, Monoid e) => DataMap (Equiv e a) a (Map a e) Source # | |
(Ord a, Monoid e) => DataRel (Equiv e a) (Equiv e a) e a a Source # | |
type Rep (Equiv e a) Source # | |
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.
mapEquivEdgesMonotonic :: (Ord a, Eq e, Eq e') => (a -> Maybe a) -> (e -> Maybe e') -> Equiv e a -> Equiv e' a Source #
Orphan instances
Foldable Set Source # | |
Functor Set Source # | |
Ord b => Compound a b (Set a) (Set b) Source # | |
Ord a => Semiring (Set a) Source # | |
Ord a => Disjonctive (Set a) Source # | |
Ord a => Monoid (Set a) Source # | |
Ord a => Semigroup (Set a) Source # | |
Ord k => Traversable (Map k) Source # | |
Foldable (Map k) Source # | |
Ord k => SemiApplicative (Zip (Map k)) Source # | |
Functor (Map k) Source # | |
(Ord k, Semigroup a) => Semiring (Map k a) Source # | |
Ord k => Disjonctive (Map k a) Source # | |
Ord k => Monoid (Map k a) Source # | |
Ord k => Semigroup (Map k a) Source # | |