coda-0.0.1: The coda compiler

Copyright(c) Edward Kmett 2017
LicenseBSD2
MaintainerEdward Kmett <ekmett@gmail.com>
Stabilityexperimental
Portabilitynon-portable
Safe HaskellNone
LanguageHaskell2010

Coda.Relative.Map

Description

 

Documentation

data Map k a Source #

Instances

(StrictRelativeOrder k, Relative a, Eq a) => Eq (Map k a) Source # 

Methods

(==) :: Map k a -> Map k a -> Bool #

(/=) :: Map k a -> Map k a -> Bool #

(StrictRelativeOrder k, Relative a, Ord a) => Ord (Map k a) Source # 

Methods

compare :: Map k a -> Map k a -> Ordering #

(<) :: Map k a -> Map k a -> Bool #

(<=) :: Map k a -> Map k a -> Bool #

(>) :: Map k a -> Map k a -> Bool #

(>=) :: Map k a -> Map k a -> Bool #

max :: Map k a -> Map k a -> Map k a #

min :: Map k a -> Map k a -> Map k a #

(Show a, Show k) => Show (Map k a) Source # 

Methods

showsPrec :: Int -> Map k a -> ShowS #

show :: Map k a -> String #

showList :: [Map k a] -> ShowS #

(StrictRelativeOrder k, Relative a) => Monoid (Map k a) Source #

O(m*log(n/m + 1)), m <= n

Methods

mempty :: Map k a #

mappend :: Map k a -> Map k a -> Map k a #

mconcat :: [Map k a] -> Map k a #

(StrictRelativeOrder k, Hashable k, Relative a, Hashable a) => Hashable (Map k a) Source # 

Methods

hashWithSalt :: Int -> Map k a -> Int #

hash :: Map k a -> Int #

(StrictRelativeOrder k, Relative a) => Ixed (Map k a) Source # 

Methods

ix :: Index (Map k a) -> Traversal' (Map k a) (IxValue (Map k a))

(StrictRelativeOrder k, Relative a) => At (Map k a) Source # 

Methods

at :: Index (Map k a) -> Lens' (Map k a) (Maybe (IxValue (Map k a)))

Default (Map k a) Source # 

Methods

def :: Map k a

(StrictRelativeOrder k, StrictRelativeOrder a) => StrictRelativeOrder (Map k a) Source # 
(StrictRelativeOrder k, RelativeOrder a) => RelativeOrder (Map k a) Source # 
(StrictRelativeOrder k, Relative a) => RelativeMonoid (Map k a) Source # 
Relative (Map k a) Source # 

Methods

rel :: Delta -> Map k a -> Map k a Source #

type IxValue (Map k a) Source # 
type IxValue (Map k a) = a
type Index (Map k a) Source # 
type Index (Map k a) = k

singleton :: k -> a -> Map k a Source #

insert :: StrictRelativeOrder k => k -> a -> Map k a -> Map k a Source #

lookup :: (StrictRelativeOrder k, Relative a) => k -> Map k a -> Maybe a Source #

toAscList :: (StrictRelativeOrder k, Relative a) => Map k a -> [(k, a)] Source #

union :: (StrictRelativeOrder k, Relative a) => Map k a -> Map k a -> Map k a Source #

split :: StrictRelativeOrder k => Delta -> k -> Map k a -> (Map k a, Map k a) Source #

irfoldr :: (Delta -> k -> a -> r -> r) -> r -> Delta -> Map k a -> r Source #