| Safe Haskell | Trustworthy |
|---|---|
| Language | Haskell2010 |
Data.HashSet.InsOrd
Description
InsOrdHashSet is like HashMap, but it folds in insertion order.
This module interface mimics Data.HashSet, with some additions.
Synopsis
- data InsOrdHashSet k
- empty :: InsOrdHashSet k
- singleton :: Hashable k => k -> InsOrdHashSet k
- null :: InsOrdHashSet k -> Bool
- size :: InsOrdHashSet k -> Int
- member :: (Eq k, Hashable k) => k -> InsOrdHashSet k -> Bool
- insert :: (Eq k, Hashable k) => k -> InsOrdHashSet k -> InsOrdHashSet k
- delete :: (Eq k, Hashable k) => k -> InsOrdHashSet k -> InsOrdHashSet k
- union :: (Eq k, Hashable k) => InsOrdHashSet k -> InsOrdHashSet k -> InsOrdHashSet k
- map :: (Hashable b, Eq b) => (a -> b) -> InsOrdHashSet a -> InsOrdHashSet b
- difference :: (Eq a, Hashable a) => InsOrdHashSet a -> InsOrdHashSet a -> InsOrdHashSet a
- intersection :: (Eq a, Hashable a) => InsOrdHashSet a -> InsOrdHashSet a -> InsOrdHashSet a
- filter :: (a -> Bool) -> InsOrdHashSet a -> InsOrdHashSet a
- toList :: InsOrdHashSet k -> [k]
- fromList :: (Eq k, Hashable k) => [k] -> InsOrdHashSet k
- toHashSet :: InsOrdHashSet k -> HashSet k
- fromHashSet :: HashSet k -> InsOrdHashSet k
- hashSet :: Iso' (InsOrdHashSet a) (HashSet a)
- valid :: InsOrdHashSet a -> Bool
Documentation
data InsOrdHashSet k Source #
HashSet which tries its best to remember insertion order of elements.
Instances
| Foldable InsOrdHashSet Source # | |
Defined in Data.HashSet.InsOrd Methods fold :: Monoid m => InsOrdHashSet m -> m foldMap :: Monoid m => (a -> m) -> InsOrdHashSet a -> m foldMap' :: Monoid m => (a -> m) -> InsOrdHashSet a -> m foldr :: (a -> b -> b) -> b -> InsOrdHashSet a -> b foldr' :: (a -> b -> b) -> b -> InsOrdHashSet a -> b foldl :: (b -> a -> b) -> b -> InsOrdHashSet a -> b foldl' :: (b -> a -> b) -> b -> InsOrdHashSet a -> b foldr1 :: (a -> a -> a) -> InsOrdHashSet a -> a foldl1 :: (a -> a -> a) -> InsOrdHashSet a -> a toList :: InsOrdHashSet a -> [a] null :: InsOrdHashSet a -> Bool length :: InsOrdHashSet a -> Int elem :: Eq a => a -> InsOrdHashSet a -> Bool maximum :: Ord a => InsOrdHashSet a -> a minimum :: Ord a => InsOrdHashSet a -> a sum :: Num a => InsOrdHashSet a -> a product :: Num a => InsOrdHashSet a -> a | |
| NFData1 InsOrdHashSet Source # | Since: 0.2.5 |
Defined in Data.HashSet.InsOrd Methods liftRnf :: (a -> ()) -> InsOrdHashSet a -> () | |
| (Eq k, Hashable k) => IsList (InsOrdHashSet k) Source # | |
Defined in Data.HashSet.InsOrd Associated Types type Item (InsOrdHashSet k) Methods fromList :: [Item (InsOrdHashSet k)] -> InsOrdHashSet k fromListN :: Int -> [Item (InsOrdHashSet k)] -> InsOrdHashSet k toList :: InsOrdHashSet k -> [Item (InsOrdHashSet k)] | |
| Eq k => Eq (InsOrdHashSet k) Source # | |
Defined in Data.HashSet.InsOrd Methods (==) :: InsOrdHashSet k -> InsOrdHashSet k -> Bool (/=) :: InsOrdHashSet k -> InsOrdHashSet k -> Bool | |
| (Data k, Hashable k) => Data (InsOrdHashSet k) Source # | |
Defined in Data.HashSet.InsOrd Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> InsOrdHashSet k -> c (InsOrdHashSet k) gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (InsOrdHashSet k) toConstr :: InsOrdHashSet k -> Constr dataTypeOf :: InsOrdHashSet k -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (InsOrdHashSet k)) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (InsOrdHashSet k)) gmapT :: (forall b. Data b => b -> b) -> InsOrdHashSet k -> InsOrdHashSet k gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> InsOrdHashSet k -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> InsOrdHashSet k -> r gmapQ :: (forall d. Data d => d -> u) -> InsOrdHashSet k -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> InsOrdHashSet k -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> InsOrdHashSet k -> m (InsOrdHashSet k) gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> InsOrdHashSet k -> m (InsOrdHashSet k) gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> InsOrdHashSet k -> m (InsOrdHashSet k) | |
| (Eq k, Hashable k, Read k) => Read (InsOrdHashSet k) Source # | |
Defined in Data.HashSet.InsOrd Methods readsPrec :: Int -> ReadS (InsOrdHashSet k) readList :: ReadS [InsOrdHashSet k] readPrec :: ReadPrec (InsOrdHashSet k) readListPrec :: ReadPrec [InsOrdHashSet k] | |
| Show k => Show (InsOrdHashSet k) Source # | |
Defined in Data.HashSet.InsOrd Methods showsPrec :: Int -> InsOrdHashSet k -> ShowS show :: InsOrdHashSet k -> String showList :: [InsOrdHashSet k] -> ShowS | |
| (Eq k, Hashable k) => Semigroup (InsOrdHashSet k) Source # | |
Defined in Data.HashSet.InsOrd Methods (<>) :: InsOrdHashSet k -> InsOrdHashSet k -> InsOrdHashSet k sconcat :: NonEmpty (InsOrdHashSet k) -> InsOrdHashSet k stimes :: Integral b => b -> InsOrdHashSet k -> InsOrdHashSet k | |
| (Eq k, Hashable k) => Monoid (InsOrdHashSet k) Source # | |
Defined in Data.HashSet.InsOrd Methods mempty :: InsOrdHashSet k mappend :: InsOrdHashSet k -> InsOrdHashSet k -> InsOrdHashSet k mconcat :: [InsOrdHashSet k] -> InsOrdHashSet k | |
| NFData k => NFData (InsOrdHashSet k) Source # | Since: 0.2.5 |
Defined in Data.HashSet.InsOrd Methods rnf :: InsOrdHashSet k -> () | |
| (Eq a, Hashable a, FromJSON a) => FromJSON (InsOrdHashSet a) Source # | |
Defined in Data.HashSet.InsOrd Methods parseJSON :: Value -> Parser (InsOrdHashSet a) parseJSONList :: Value -> Parser [InsOrdHashSet a] | |
| ToJSON a => ToJSON (InsOrdHashSet a) Source # | |
Defined in Data.HashSet.InsOrd Methods toJSON :: InsOrdHashSet a -> Value toEncoding :: InsOrdHashSet a -> Encoding toJSONList :: [InsOrdHashSet a] -> Value toEncodingList :: [InsOrdHashSet a] -> Encoding | |
| Hashable k => Hashable (InsOrdHashSet k) Source # |
|
Defined in Data.HashSet.InsOrd | |
| (Eq k, Hashable k) => At (InsOrdHashSet k) Source # | |
Defined in Data.HashSet.InsOrd Methods at :: Index (InsOrdHashSet k) -> Lens' (InsOrdHashSet k) (Maybe (IxValue (InsOrdHashSet k))) | |
| (Eq a, Hashable a) => Contains (InsOrdHashSet a) Source # | |
Defined in Data.HashSet.InsOrd Methods contains :: Index (InsOrdHashSet a) -> Lens' (InsOrdHashSet a) Bool | |
| (Eq k, Hashable k) => Ixed (InsOrdHashSet k) Source # | |
Defined in Data.HashSet.InsOrd Methods ix :: Index (InsOrdHashSet k) -> Traversal' (InsOrdHashSet k) (IxValue (InsOrdHashSet k)) | |
| (Eq k, Hashable k) => At (InsOrdHashSet k) Source # | |
Defined in Data.HashSet.InsOrd Methods at :: Index (InsOrdHashSet k) -> Lens' (InsOrdHashSet k) (Maybe (IxValue (InsOrdHashSet k))) | |
| (Eq a, Hashable a) => Contains (InsOrdHashSet a) Source # | |
Defined in Data.HashSet.InsOrd Methods contains :: Index (InsOrdHashSet a) -> Lens' (InsOrdHashSet a) Bool | |
| (Eq k, Hashable k) => Ixed (InsOrdHashSet k) Source # | |
Defined in Data.HashSet.InsOrd Associated Types type IxKind (InsOrdHashSet k) Methods ix :: Index (InsOrdHashSet k) -> Optic' (IxKind (InsOrdHashSet k)) NoIx (InsOrdHashSet k) (IxValue (InsOrdHashSet k)) | |
| type Index (InsOrdHashSet a) Source # | |
Defined in Data.HashSet.InsOrd type Index (InsOrdHashSet a) = a | |
| type IxValue (InsOrdHashSet a) Source # | |
Defined in Data.HashSet.InsOrd type IxValue (InsOrdHashSet a) = () | |
| type Index (InsOrdHashSet a) Source # | |
Defined in Data.HashSet.InsOrd type Index (InsOrdHashSet a) = a | |
| type IxValue (InsOrdHashSet a) Source # | |
Defined in Data.HashSet.InsOrd type IxValue (InsOrdHashSet a) = () | |
| type IxKind (InsOrdHashSet k) Source # | |
Defined in Data.HashSet.InsOrd type IxKind (InsOrdHashSet k) = An_AffineTraversal | |
| type Item (InsOrdHashSet k) Source # | |
Defined in Data.HashSet.InsOrd type Item (InsOrdHashSet k) = k | |
Construction
empty :: InsOrdHashSet k Source #
singleton :: Hashable k => k -> InsOrdHashSet k Source #
Basic interface
null :: InsOrdHashSet k -> Bool Source #
size :: InsOrdHashSet k -> Int Source #
member :: (Eq k, Hashable k) => k -> InsOrdHashSet k -> Bool Source #
insert :: (Eq k, Hashable k) => k -> InsOrdHashSet k -> InsOrdHashSet k Source #
delete :: (Eq k, Hashable k) => k -> InsOrdHashSet k -> InsOrdHashSet k Source #
Combine
union :: (Eq k, Hashable k) => InsOrdHashSet k -> InsOrdHashSet k -> InsOrdHashSet k Source #
Transformations
map :: (Hashable b, Eq b) => (a -> b) -> InsOrdHashSet a -> InsOrdHashSet b Source #
Unordered
Difference and intersection
difference :: (Eq a, Hashable a) => InsOrdHashSet a -> InsOrdHashSet a -> InsOrdHashSet a Source #
intersection :: (Eq a, Hashable a) => InsOrdHashSet a -> InsOrdHashSet a -> InsOrdHashSet a Source #
Folds
Unordered
Filter
filter :: (a -> Bool) -> InsOrdHashSet a -> InsOrdHashSet a Source #
Conversions
toList :: InsOrdHashSet k -> [k] Source #
fromList :: (Eq k, Hashable k) => [k] -> InsOrdHashSet k Source #
toHashSet :: InsOrdHashSet k -> HashSet k Source #
fromHashSet :: HashSet k -> InsOrdHashSet k Source #
Lenses
hashSet :: Iso' (InsOrdHashSet a) (HashSet a) Source #
This is a slight lie, as roundtrip doesn't preserve ordering.
Debugging
valid :: InsOrdHashSet a -> Bool Source #
Test if the internal map structure is valid.