| Copyright | (c) Christopher Davenport 2018 |
|---|---|
| License | BSD-style |
| Maintainer | Chris@ChristopherDavenport.tech |
| Portability | portable |
| Safe Haskell | Trustworthy |
| Language | Haskell2010 |
Data.Map.NonEmpty
Description
Description
An efficient implementation of non-empty maps from keys to values (dictionaries).
Since many function names (but not the type name) clash with
Prelude names, this module is usually imported qualified, e.g.
import Data.Map.NonEmpty (NonEmptyMap) import qualified Data.Map.NonEmpty as NonEmptyMap
- data NonEmptyMap k a = NonEmptyMap (k, a) (Map k a)
- singleton :: (k, a) -> NonEmptyMap k a
- fromList :: Ord k => [(k, a)] -> Maybe (NonEmptyMap k a)
- insert :: Ord k => k -> a -> NonEmptyMap k a -> NonEmptyMap k a
- insertWith :: Ord k => (a -> a -> a) -> k -> a -> NonEmptyMap k a -> NonEmptyMap k a
- insertWithKey :: Ord k => (k -> a -> a -> a) -> k -> a -> NonEmptyMap k a -> NonEmptyMap k a
- insertLookupWithKey :: Ord k => (k -> a -> a -> a) -> k -> a -> NonEmptyMap k a -> (Maybe a, NonEmptyMap k a)
- delete :: Ord k => k -> NonEmptyMap k a -> Map k a
- adjust :: Ord k => (a -> a) -> k -> NonEmptyMap k a -> NonEmptyMap k a
- update :: Ord k => (a -> Maybe a) -> k -> NonEmptyMap k a -> Map k a
- alter :: Ord k => (Maybe a -> Maybe a) -> k -> NonEmptyMap k a -> Map k a
- alterF :: forall f k a. (Functor f, Ord k) => (Maybe a -> f (Maybe a)) -> k -> NonEmptyMap k a -> f (Map k a)
- lookup :: Ord k => k -> NonEmptyMap k a -> Maybe a
- (!?) :: Ord k => NonEmptyMap k a -> k -> Maybe a
- findWithDefault :: Ord k => a -> k -> NonEmptyMap k a -> a
- member :: Ord k => k -> NonEmptyMap k a -> Bool
- notMember :: Ord k => k -> NonEmptyMap k a -> Bool
- size :: NonEmptyMap k a -> Int
- toList :: NonEmptyMap k a -> [(k, a)]
Documentation
data NonEmptyMap k a Source #
A NonEmptyMap of keys k to values a
Constructors
| NonEmptyMap (k, a) (Map k a) |
Instances
| Eq2 NonEmptyMap Source # | |
| Ord2 NonEmptyMap Source # | |
| Show2 NonEmptyMap Source # | |
| Functor (NonEmptyMap k) Source # | |
| Eq k => Eq1 (NonEmptyMap k) Source # | |
| Ord k => Ord1 (NonEmptyMap k) Source # | |
| Show k => Show1 (NonEmptyMap k) Source # | |
| (Show k, Show a) => Show (NonEmptyMap k a) Source # | |
Construction
singleton :: (k, a) -> NonEmptyMap k a Source #
Insertion
insert :: Ord k => k -> a -> NonEmptyMap k a -> NonEmptyMap k a Source #
insertWith :: Ord k => (a -> a -> a) -> k -> a -> NonEmptyMap k a -> NonEmptyMap k a Source #
insertWithKey :: Ord k => (k -> a -> a -> a) -> k -> a -> NonEmptyMap k a -> NonEmptyMap k a Source #
insertLookupWithKey :: Ord k => (k -> a -> a -> a) -> k -> a -> NonEmptyMap k a -> (Maybe a, NonEmptyMap k a) Source #
Deletion/Update
adjust :: Ord k => (a -> a) -> k -> NonEmptyMap k a -> NonEmptyMap k a Source #
alterF :: forall f k a. (Functor f, Ord k) => (Maybe a -> f (Maybe a)) -> k -> NonEmptyMap k a -> f (Map k a) Source #
Query
findWithDefault :: Ord k => a -> k -> NonEmptyMap k a -> a Source #
Size
size :: NonEmptyMap k a -> Int Source #
Conversions
Lists
toList :: NonEmptyMap k a -> [(k, a)] Source #