Hoogle Search

Within LTS Haskell 24.6 (ghc-9.10.2)

Note that Stackage only displays results for the latest LTS and Nightly snapshot. Learn more.

  1. fromList :: (Eq k, Hashable k) => [(k, v)] -> HashMap k v

    unordered-containers Data.HashMap.Lazy

    Construct a map with the supplied mappings. If the list contains duplicate mappings, the later mappings take precedence.

  2. fromListWith :: (Eq k, Hashable k) => (v -> v -> v) -> [(k, v)] -> HashMap k v

    unordered-containers Data.HashMap.Lazy

    Construct a map from a list of elements. Uses the provided function f to merge duplicate entries with (f newVal oldVal).

    Examples

    Given a list xs, create a map with the number of occurrences of each element in xs:
    let xs = ['a', 'b', 'a']
    in fromListWith (+) [ (x, 1) | x <- xs ]
    
    = fromList [('a', 2), ('b', 1)]
    
    Given a list of key-value pairs xs :: [(k, v)], group all values by their keys and return a HashMap k [v].
    let xs = [('a', 1), ('b', 2), ('a', 3)]
    in fromListWith (++) [ (k, [v]) | (k, v) <- xs ]
    
    = fromList [('a', [3, 1]), ('b', [2])]
    
    Note that the lists in the resulting map contain elements in reverse order from their occurrences in the original list. More generally, duplicate entries are accumulated as follows; this matters when f is not commutative or not associative.
    fromListWith f [(k, a), (k, b), (k, c), (k, d)]
    = fromList [(k, f d (f c (f b a)))]
    

  3. fromListWithKey :: (Eq k, Hashable k) => (k -> v -> v -> v) -> [(k, v)] -> HashMap k v

    unordered-containers Data.HashMap.Lazy

    Construct a map from a list of elements. Uses the provided function to merge duplicate entries.

    Examples

    Given a list of key-value pairs where the keys are of different flavours, e.g:
    data Key = Div | Sub
    
    and the values need to be combined differently when there are duplicates, depending on the key:
    combine Div = div
    combine Sub = (-)
    
    then fromListWithKey can be used as follows:
    fromListWithKey combine [(Div, 2), (Div, 6), (Sub, 2), (Sub, 3)]
    = fromList [(Div, 3), (Sub, 1)]
    
    More generally, duplicate entries are accumulated as follows;
    fromListWith f [(k, a), (k, b), (k, c), (k, d)]
    = fromList [(k, f k d (f k c (f k b a)))]
    

  4. toList :: HashMap k v -> [(k, v)]

    unordered-containers Data.HashMap.Lazy

    Return a list of this map's elements. The list is produced lazily. The order of its elements is unspecified.

  5. fromList :: (Eq k, Hashable k) => [(k, v)] -> HashMap k v

    unordered-containers Data.HashMap.Strict

    Construct a map with the supplied mappings. If the list contains duplicate mappings, the later mappings take precedence.

  6. fromListWith :: (Eq k, Hashable k) => (v -> v -> v) -> [(k, v)] -> HashMap k v

    unordered-containers Data.HashMap.Strict

    Construct a map from a list of elements. Uses the provided function f to merge duplicate entries with (f newVal oldVal).

    Examples

    Given a list xs, create a map with the number of occurrences of each element in xs:
    let xs = ['a', 'b', 'a']
    in fromListWith (+) [ (x, 1) | x <- xs ]
    
    = fromList [('a', 2), ('b', 1)]
    
    Given a list of key-value pairs xs :: [(k, v)], group all values by their keys and return a HashMap k [v].
    let xs = ('a', 1), ('b', 2), ('a', 3)]
    in fromListWith (++) [ (k, [v]) | (k, v) <- xs ]
    
    = fromList [('a', [3, 1]), ('b', [2])]
    
    Note that the lists in the resulting map contain elements in reverse order from their occurrences in the original list. More generally, duplicate entries are accumulated as follows; this matters when f is not commutative or not associative.
    fromListWith f [(k, a), (k, b), (k, c), (k, d)]
    = fromList [(k, f d (f c (f b a)))]
    

  7. fromListWithKey :: (Eq k, Hashable k) => (k -> v -> v -> v) -> [(k, v)] -> HashMap k v

    unordered-containers Data.HashMap.Strict

    Construct a map from a list of elements. Uses the provided function to merge duplicate entries.

    Examples

    Given a list of key-value pairs where the keys are of different flavours, e.g:
    data Key = Div | Sub
    
    and the values need to be combined differently when there are duplicates, depending on the key:
    combine Div = div
    combine Sub = (-)
    
    then fromListWithKey can be used as follows:
    fromListWithKey combine [(Div, 2), (Div, 6), (Sub, 2), (Sub, 3)]
    = fromList [(Div, 3), (Sub, 1)]
    
    More generally, duplicate entries are accumulated as follows;
    fromListWith f [(k, a), (k, b), (k, c), (k, d)]
    = fromList [(k, f k d (f k c (f k b a)))]
    

  8. toList :: HashMap k v -> [(k, v)]

    unordered-containers Data.HashMap.Strict

    Return a list of this map's elements. The list is produced lazily. The order of its elements is unspecified.

  9. fromList :: (Eq a, Hashable a) => [a] -> HashSet a

    unordered-containers Data.HashSet

    Construct a set from a list of elements.

  10. toList :: HashSet a -> [a]

    unordered-containers Data.HashSet

    Return a list of this set's elements. The list is produced lazily.

Page 51 of many | Previous | Next