mono-traversable-0.1.0.0: Type classes for mapping, folding, and traversing monomorphic containers

Safe HaskellNone

Data.Containers

Description

Warning: This module should be considered highly experimental.

Documentation

class (Monoid set, MonoFoldable set) => Container set whereSource

Associated Types

type ContainerKey set Source

Methods

member :: ContainerKey set -> set -> BoolSource

notMember :: ContainerKey set -> set -> BoolSource

union :: set -> set -> setSource

difference :: set -> set -> setSource

intersection :: set -> set -> setSource

Instances

Container IntSet 
Ord k => Container [(k, v)] 
Container (IntMap v) 
Ord e => Container (Set e) 
(Eq e, Hashable e) => Container (HashSet e) 
Ord k => Container (Map k v) 
(Eq k, Hashable k) => Container (HashMap k v) 

class (MonoTraversable m, Container m) => IsMap m whereSource

Associated Types

type MapValue m Source

Using just Element can lead to very confusing error messages.

Instances

Ord k => IsMap [(k, v)] 
IsMap (IntMap v) 
Ord k => IsMap (Map k v) 
(Eq k, Hashable k) => IsMap (HashMap k v) 

class (Container s, Element s ~ ContainerKey s) => IsSet s whereSource

Instances

IsSet IntSet 
Ord e => IsSet (Set e) 
(Eq e, Hashable e) => IsSet (HashSet e)