| Copyright | © Mike Meyer, 2015 |
|---|---|
| License | BSD3 |
| Maintainer | mwm@mired.org |
| Stability | experimental |
| Safe Haskell | Safe-Inferred |
| Language | Haskell2010 |
Data.AList
Description
A module to encapsulate associative lists.
- data AList key value
- fromList :: [(k, v)] -> AList k v
- toList :: AList k v -> [(k, v)]
- toMap :: Ord k => AList k v -> Map k v
- fromMap :: Ord k => Map k v -> AList k v
- isEmpty :: AList k v -> Bool
- lookupAll :: Eq k => k -> AList k v -> [v]
- lookupFirst :: Eq k => k -> AList k v -> Maybe v
- lookupBy :: (k -> Bool) -> AList k v -> AList k v
- member :: Eq k => k -> AList k v -> Bool
- values :: AList k v -> [v]
- keys :: AList k v -> [k]
- insert :: k -> v -> AList k v -> AList k v
- append :: k -> v -> AList k v -> AList k v
- deleteAll :: Eq k => k -> AList k v -> AList k v
- deleteFirst :: Eq k => k -> AList k v -> AList k v
- deleteBy :: (k -> Bool) -> AList k v -> AList k v
Data
An AList is a list of of (key, value) pairs. Such pairs
are referred to as an item in the following.
Convert
toMap :: Ord k => AList k v -> Map k v Source
toMap converts to a Map. Behavior with multiple keys is undefined.
Query
lookupAll :: Eq k => k -> AList k v -> [v] Source
lookupAll returns a List of all items with the given key.
lookupFirst :: Eq k => k -> AList k v -> Maybe v Source
lookupFirst finds the first value with a matching key, if there is one.
Modify
deleteFirst :: Eq k => k -> AList k v -> AList k v Source
deleteFirst deletes the first value with a given key.