Safe Haskell | None |
---|---|
Language | Haskell2010 |
Data.Containers
- class Monoid m => DataMap m k a | m -> k a where
- class Indexed f i | f -> i where
- class OrderedMap m k a m' k' a' | m -> k a, m' -> k' a' where
- class Container c where
- lookup :: DataMap m k a => k -> m -> Maybe a
- resides :: 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
- (#) :: DataMap m k a => m -> [(k, a)] -> m
- (#?) :: (Ord a, Ord b) => Relation a b -> [(a, b)] -> Relation a b
- cached :: forall a b. Ord a => (a -> b) -> a -> b
- 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)
- newtype Bimap a b = Bimap (Map a b, Map b a)
- toMap :: Bimap a b -> Map a b
- keysSet :: (Eq k, OrderedMap m k a m k a) => m -> Set k
- newtype Relation a b = Relation (Map a (Set b), Map b (Set a))
- i'Relation :: Iso (Relation a b) (Relation c d) (Map a (Set b), Map b (Set a)) (Map c (Set d), Map d (Set c))
- i'domains :: (Ord c, Ord d) => Iso (Map b (Set a)) (Map d (Set c)) (Relation a b) (Relation c d)
- i'ranges :: (Ord c, Ord d) => Iso (Map a (Set b)) (Map c (Set d)) (Relation a b) (Relation c d)
- l'domain :: (Ord a, Ord b) => a -> Lens' (Relation a b) (Set b)
- l'range :: (Ord a, Ord b) => b -> Lens' (Relation a b) (Set a)
- link :: (Ord a, Ord b) => a -> b -> Lens' (Relation a b) Bool
- (*>>>) :: (Ord a, Ord b, Ord c) => Relation a b -> Relation b c -> Relation a c
The basic data class
class OrderedMap m k a m' k' a' | m -> k a, m' -> k' a' where Source
singleton' :: (Monoid a, DataMap m k a) => k -> m Source
Map instances
Sets and maps
data Set a :: * -> *
A set of values a
.
Instances
Foldable Set | |
Foldable Set | |
Functor Set | |
Container Set | |
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 => Monoid (Set a) | |
NFData a => NFData (Set a) | |
Ord a => Semiring (Set a) | |
Ord a => Disjonctive (Set a) | |
Ord a => Monoid (Set a) | |
Ord a => Semigroup (Set a) | |
Ord a => DataMap (Set a) a Void | |
Eq b => OrderedMap (Set a) a Void (Set b) b Void | |
Typeable (* -> *) Set | |
(Ord k, Ord a) => DataMap (Relation k a) k (Set a) |
data Map k a :: * -> * -> *
A Map from keys k
to values a
.
Instances
Functor (Map k) | |
Foldable (Map k) | |
Traversable (Map k) | |
Ord k => Unit (Zip (Map k)) | |
Eq k => Traversable (Map k) | |
Foldable (Map k) | |
Ord k => Applicative (Zip (Map k)) | |
Functor (Map k) | |
Container (Map k) | |
Indexed (Map k) k | |
(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 => Monoid (Map k v) | |
(NFData k, NFData a) => NFData (Map k a) | |
(Ord k, Semigroup a) => Semiring (Map k a) | |
Ord k => Disjonctive (Map k a) | |
Ord k => Monoid (Map k a) | |
Ord k => Semigroup (Map k a) | |
Typeable (* -> * -> *) Map | |
Ord k => DataMap (Map k a) k a | |
Eq k' => OrderedMap (Map k a) k a (Map k' a') k' a' |
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
Bimaps
An invertible map
Instances
Commutative Bimap | |
(Show a, Show b) => Show (Bimap a b) | |
(Ord a, Ord b, Semigroup a, Semigroup b) => Semiring (Bimap a b) | |
(Ord a, Ord b) => Disjonctive (Bimap a b) | |
(Ord a, Ord b) => Monoid (Bimap a b) | |
(Ord a, Ord b) => Semigroup (Bimap a b) | |
(Ord a, Ord b) => DataMap (Bimap a b) a b | |
(Ord a, Ord b, Ord c, Ord d) => OrderedMap (Bimap a b) a b (Bimap c d) c d | |
(Ord b, Ord a) => DataMap (Flip Bimap b a) b a |
keysSet :: (Eq k, OrderedMap m k a m k a) => m -> Set k Source
Relations
Instances
Commutative Relation | |
(Eq a, Eq b) => Eq (Relation a b) | |
(Ord a, Ord b) => Ord (Relation a b) | |
(Show a, Show b) => Show (Relation a b) | |
(Ord a, Ord b) => Semiring (Relation a b) | |
(Ord a, Ord b) => Monoid (Relation a b) | |
(Ord a, Ord b) => Semigroup (Relation a b) | |
(Ord k, Ord a) => DataMap (Relation k a) k (Set a) |
i'Relation :: Iso (Relation a b) (Relation c d) (Map a (Set b), Map b (Set a)) (Map c (Set d), Map d (Set c)) Source
i'domains :: (Ord c, Ord d) => Iso (Map b (Set a)) (Map d (Set c)) (Relation a b) (Relation c d) Source
Define a Relation from its domain (uses the Commutative instance)