Hets - the Heterogeneous Tool Set

Copyright(c) Klaus Luettich and Uni Bremen 2005
LicenseGPLv2 or higher, see LICENSE.txt
MaintainerChristian.Maeder@dfki.de
Stabilityprovisional
Portabilityportable
Safe HaskellSafe

Common.OrderedMap

Description

Ordered maps (these keep insertion order)

ordered maps keep the ordering if converted from a list and of all insert operations which are implemented; toList uses the insertion/conversion order for the creation of the new list

Documentation

type OMap a b = Map a (ElemWOrd b) Source #

data ElemWOrd a Source #

Constructors

EWOrd 

Fields

Instances

Ord a => Eq (ElemWOrd a) Source # 

Methods

(==) :: ElemWOrd a -> ElemWOrd a -> Bool

(/=) :: ElemWOrd a -> ElemWOrd a -> Bool

Data a => Data (ElemWOrd a) Source # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ElemWOrd a -> c (ElemWOrd a)

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (ElemWOrd a)

toConstr :: ElemWOrd a -> Constr

dataTypeOf :: ElemWOrd a -> DataType

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c (ElemWOrd a))

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (ElemWOrd a))

gmapT :: (forall b. Data b => b -> b) -> ElemWOrd a -> ElemWOrd a

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ElemWOrd a -> r

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ElemWOrd a -> r

gmapQ :: (forall d. Data d => d -> u) -> ElemWOrd a -> [u]

gmapQi :: Int -> (forall d. Data d => d -> u) -> ElemWOrd a -> u

gmapM :: Monad m => (forall d. Data d => d -> m d) -> ElemWOrd a -> m (ElemWOrd a)

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ElemWOrd a -> m (ElemWOrd a)

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ElemWOrd a -> m (ElemWOrd a)

Ord a => Ord (ElemWOrd a) Source # 

Methods

compare :: ElemWOrd a -> ElemWOrd a -> Ordering

(<) :: ElemWOrd a -> ElemWOrd a -> Bool

(<=) :: ElemWOrd a -> ElemWOrd a -> Bool

(>) :: ElemWOrd a -> ElemWOrd a -> Bool

(>=) :: ElemWOrd a -> ElemWOrd a -> Bool

max :: ElemWOrd a -> ElemWOrd a -> ElemWOrd a

min :: ElemWOrd a -> ElemWOrd a -> ElemWOrd a

Show a => Show (ElemWOrd a) Source # 

Methods

showsPrec :: Int -> ElemWOrd a -> ShowS

show :: ElemWOrd a -> String

showList :: [ElemWOrd a] -> ShowS

ShATermLG a => ShATermLG (ElemWOrd a) Source # 

Methods

toShATermLG :: ATermTable -> ElemWOrd a -> IO (ATermTable, Int) Source #

fromShATermLG :: LogicGraph -> Int -> ATermTable -> (ATermTable, ElemWOrd a) Source #

null :: OMap k a -> Bool Source #

lookup :: (Monad m, Ord k) => k -> OMap k a -> m a Source #

insert :: Ord k => k -> a -> OMap k a -> OMap k a Source #

map :: Ord k => (a -> b) -> OMap k a -> OMap k b Source #

mapWithKey :: (k -> a -> b) -> OMap k a -> OMap k b Source #

update :: Ord k => (a -> Maybe a) -> k -> OMap k a -> OMap k a Source #

filter :: Ord k => (a -> Bool) -> OMap k a -> OMap k a Source #

filterWithKey :: Ord k => (k -> a -> Bool) -> OMap k a -> OMap k a Source #

partition :: Ord k => (a -> Bool) -> OMap k a -> (OMap k a, OMap k a) Source #

partitionWithKey :: Ord k => (k -> a -> Bool) -> OMap k a -> (OMap k a, OMap k a) Source #

fromList :: Ord k => [(k, a)] -> OMap k a Source #

toList :: Ord k => OMap k a -> [(k, a)] Source #

keys :: Ord k => OMap k a -> [k] Source #

elems :: Ord k => OMap k a -> [a] Source #