{-# LANGUAGE NoImplicitPrelude, PolymorphicComponents #-}
module ModularPrelude.Module.Map
(
MapModule (..)
, MapImplements (..)
) where
import ModularPrelude hiding (empty)
import qualified Data.Map as Map
data MapModule = Map
{ MapModule -> forall k a b. (a -> b) -> Map k a -> Map k b
map :: forall k a b. (a -> b) -> Map k a -> Map k b
, MapModule
-> forall k a. Ord k => (k -> a -> Bool) -> Map k a -> Map k a
filter :: forall k a. Ord k => (k -> a -> Bool) -> Map k a -> Map k a
, MapModule -> forall k a. Map k a -> Int
length :: forall k a. Map k a -> Int
, MapModule -> forall k a. k -> a -> Map k a
singleton :: forall k a. k -> a -> Map k a
, MapModule -> forall k a. Map k a -> Bool
null :: forall k a. Map k a -> Bool
, MapModule -> forall k a. Ord k => [(k, a)] -> Map k a
pack :: forall k a. Ord k => [(k, a)] -> Map k a
, MapModule -> forall k a. Map k a -> [(k, a)]
unpack :: forall k a. Map k a -> [(k, a)]
, MapModule -> forall k a. Ord k => [(k, a)] -> Map k a
fromList :: forall k a. Ord k => [(k, a)] -> Map k a
, MapModule -> forall k a. Map k a -> [(k, a)]
toList :: forall k a. Map k a -> [(k, a)]
, MapModule -> forall k a. Ord k => k -> Map k a -> Maybe a
lookup :: forall k a. Ord k => k -> Map k a -> Maybe a
, MapModule -> forall k a. Map k a
empty :: forall k a. Map k a
, MapModule -> forall k a. Ord k => k -> a -> Map k a -> Map k a
insert :: forall k a. Ord k => k -> a -> Map k a -> Map k a
, MapModule -> forall k a. Ord k => k -> Map k a -> Map k a
delete :: forall k a. Ord k => k -> Map k a -> Map k a
, MapModule -> forall k a. Ord k => k -> Map k a -> Bool
member :: forall k a. Ord k => k -> Map k a -> Bool
}
class MapImplements interface where
_Data_Map_ :: interface
instance MapImplements MapModule where
_Data_Map_ :: MapModule
_Data_Map_ = Map
{ map :: forall k a b. (a -> b) -> Map k a -> Map k b
map = (a -> b) -> Map k a -> Map k b
forall a b k. (a -> b) -> Map k a -> Map k b
forall k a b. (a -> b) -> Map k a -> Map k b
Map.map
, filter :: forall k a. Ord k => (k -> a -> Bool) -> Map k a -> Map k a
filter = (k -> a -> Bool) -> Map k a -> Map k a
forall k a. Ord k => (k -> a -> Bool) -> Map k a -> Map k a
forall k a. (k -> a -> Bool) -> Map k a -> Map k a
Map.filterWithKey
, length :: forall k a. Map k a -> Int
length = Map k a -> Int
forall k a. Map k a -> Int
Map.size
, singleton :: forall k a. k -> a -> Map k a
singleton = k -> a -> Map k a
forall k a. k -> a -> Map k a
Map.singleton
, null :: forall k a. Map k a -> Bool
null = Map k a -> Bool
forall k a. Map k a -> Bool
Map.null
, pack :: forall k a. Ord k => [(k, a)] -> Map k a
pack = [(k, a)] -> Map k a
forall k a. Ord k => [(k, a)] -> Map k a
Map.fromList
, unpack :: forall k a. Map k a -> [(k, a)]
unpack = Map k a -> [(k, a)]
forall k a. Map k a -> [(k, a)]
Map.toList
, fromList :: forall k a. Ord k => [(k, a)] -> Map k a
fromList = [(k, a)] -> Map k a
forall k a. Ord k => [(k, a)] -> Map k a
Map.fromList
, toList :: forall k a. Map k a -> [(k, a)]
toList = Map k a -> [(k, a)]
forall k a. Map k a -> [(k, a)]
Map.toList
, lookup :: forall k a. Ord k => k -> Map k a -> Maybe a
lookup = k -> Map k a -> Maybe a
forall k a. Ord k => k -> Map k a -> Maybe a
Map.lookup
, empty :: forall k a. Map k a
empty = Map k a
forall k a. Map k a
Map.empty
, insert :: forall k a. Ord k => k -> a -> Map k a -> Map k a
insert = k -> a -> Map k a -> Map k a
forall k a. Ord k => k -> a -> Map k a -> Map k a
Map.insert
, delete :: forall k a. Ord k => k -> Map k a -> Map k a
delete = k -> Map k a -> Map k a
forall k a. Ord k => k -> Map k a -> Map k a
Map.delete
, member :: forall k a. Ord k => k -> Map k a -> Bool
member = k -> Map k a -> Bool
forall k a. Ord k => k -> Map k a -> Bool
Map.member
}
instance Default MapModule where
def :: MapModule
def = MapModule
forall interface. MapImplements interface => interface
_Data_Map_