Data.Map.Utils

MissingH-1.3.0.1: Large utility library

Copyright | Copyright (C) 2004-2011 John Goerzen
License | BSD3
Maintainer | John Goerzen <jgoerzen@complete.org>
Stability | provisional
Portability | portable
Safe Haskell | None
Language | Haskell98

Data.Map.Utils

Contents

- Basic Utilities
- Conversions

Description

This module provides various helpful utilities for dealing with Data.Maps.

Written by John Goerzen, jgoerzen@complete.org

Synopsis

- flipM :: (Ord key, Ord val) => Map key val -> Map val [key]
- flippedLookupM :: (Ord val, Ord key) => val -> Map key val -> [key]
- forceLookupM :: (Show key, Ord key) => String -> key -> Map key elt -> elt
- strToM :: (Read a, Read b, Ord a) => String -> Map a b
- strFromM :: (Show a, Show b, Ord a) => Map a b -> String

# Basic Utilities

flipM :: (Ord key, Ord val) => Map key val -> Map val [key]

Flips a Map. See `flipAL` for more on the similar function for lists.

flippedLookupM :: (Ord val, Ord key) => val -> Map key val -> [key]

Returns a list of all keys in the Map whose value matches the parameter. If the value does not occur in the Map, the empty list is returned.

forceLookupM :: (Show key, Ord key) => String -> key -> Map key elt -> elt

Performs a lookup, and raises an exception (with an error message prepended with the given string) if the key could not be found.

# Conversions

strToM :: (Read a, Read b, Ord a) => String -> Map a b

Converts a String into a String, String Map. See `strToAL` for more on the similar function for association lists.

This implementation is simple:

    strToM = Data.Map.fromList . strToAL

This function is designed to work with Map String String objects, but may work with other key/value combinations if they have simple representations.

strFromM :: (Show a, Show b, Ord a) => Map a b -> String

Converts a String, String Map into a string representation. See `strFromAL` for more on the similar function for association lists. This implementation is simple:

    strFromM = strFromAL . Data.Map.toList

This function is designed to work with Map String String objects, but may also work with other objects with simple representations.