packages feed

hydra-0.5.0: src/main/haskell/Hydra/Lib/Maps.hs

-- | Haskell implementations of hydra/lib/maps primitives

module Hydra.Lib.Maps where

import qualified Data.Map as M


empty :: M.Map k v
empty = M.empty

fromList :: Ord k => [(k, v)] -> M.Map k v
fromList = M.fromList

insert :: Ord k => k -> v -> M.Map k v -> M.Map k v
insert = M.insert

isEmpty :: M.Map k v -> Bool
isEmpty = M.null

keys :: M.Map k v -> [k]
keys = M.keys

lookup :: Ord k => k -> M.Map k v -> Maybe v
lookup = M.lookup

map :: (v1 -> v2) -> M.Map k v1 -> M.Map k v2
map = fmap

mapKeys :: (Ord k1, Ord k2) => (k1 -> k2) -> M.Map k1 v -> M.Map k2 v
mapKeys = M.mapKeys

remove :: Ord k => k -> M.Map k v -> M.Map k v
remove = M.delete

singleton :: k -> v -> M.Map k v
singleton = M.singleton

size :: M.Map k v -> Int
size = M.size

toList :: M.Map k v -> [(k, v)]
toList = M.toList

values :: M.Map k v -> [v]
values = M.elems