chatter-0.9.1.0: A library of simple NLP algorithms.

Safe HaskellNone
LanguageHaskell2010

Data.DefaultMap

Synopsis

Documentation

data DefaultMap k v Source #

Defaulting Map; a Map that returns a default value when queried for a key that does not exist.

Constructors

DefMap 

Fields

Instances

(Eq k, Eq v) => Eq (DefaultMap k v) Source # 

Methods

(==) :: DefaultMap k v -> DefaultMap k v -> Bool #

(/=) :: DefaultMap k v -> DefaultMap k v -> Bool #

(Read k, Read v, Hashable k, Eq k) => Read (DefaultMap k v) Source # 
(Show k, Show v) => Show (DefaultMap k v) Source # 

Methods

showsPrec :: Int -> DefaultMap k v -> ShowS #

show :: DefaultMap k v -> String #

showList :: [DefaultMap k v] -> ShowS #

Generic (DefaultMap k v) Source # 

Associated Types

type Rep (DefaultMap k v) :: * -> * #

Methods

from :: DefaultMap k v -> Rep (DefaultMap k v) x #

to :: Rep (DefaultMap k v) x -> DefaultMap k v #

(Arbitrary k, Arbitrary v, Hashable k, Eq k) => Arbitrary (DefaultMap k v) Source # 

Methods

arbitrary :: Gen (DefaultMap k v) #

shrink :: DefaultMap k v -> [DefaultMap k v] #

(Eq k, Hashable k, Serialize k, Serialize v) => Serialize (DefaultMap k v) Source # 

Methods

put :: Putter (DefaultMap k v) #

get :: Get (DefaultMap k v) #

(NFData k, NFData v, Hashable k) => NFData (DefaultMap k v) Source # 

Methods

rnf :: DefaultMap k v -> () #

type Rep (DefaultMap k v) Source # 
type Rep (DefaultMap k v) = D1 (MetaData "DefaultMap" "Data.DefaultMap" "chatter-0.9.1.0-CnWxxDeMROyIxVsZb3fGkc" False) (C1 (MetaCons "DefMap" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "defDefault") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 v)) (S1 (MetaSel (Just Symbol "defMap") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (HashMap k v)))))

empty :: v -> DefaultMap k v Source #

Create an empty DefaultMap

lookup :: (Eq k, Hashable k) => k -> DefaultMap k v -> v Source #

Query the map for a value. Returns the default if the key is not found.

fromList :: (Eq k, Hashable k) => v -> [(k, v)] -> DefaultMap k v Source #

Create a DefaultMap from a default value and a list.

keys :: DefaultMap k a -> [k] Source #

Access the keys as a list.

elems :: DefaultMap k a -> [a] Source #

Access the non-default values as a list.

map :: (a -> a) -> DefaultMap k a -> DefaultMap k a Source #

Map a function over the values in a map.

foldl :: (a -> b -> a) -> a -> DefaultMap k b -> a Source #

Fold over the values in the map.

Note that this *does* not fold over the default value -- this fold behaves in the same way as a standard foldl

unionWith Source #

Arguments

:: (Eq k, Hashable k) 
=> (v -> v -> v)

Combine values with this function

-> v

The new map's default value

-> DefaultMap k v

The first map to combine

-> DefaultMap k v

The second map to combine

-> DefaultMap k v 

Compute the union of two maps using the specified per-value combination function and the specified new map default value.