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

Instances details
Ord a => Eq (ElemWOrd a) Source # 
Instance details

Defined in Common.OrderedMap

Methods

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

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

Data a => Data (ElemWOrd a) Source # 
Instance details

Defined in Common.OrderedMap

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 :: forall r r'. (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 # 
Instance details

Defined in Common.OrderedMap

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 # 
Instance details

Defined in Common.OrderedMap

Methods

showsPrec :: Int -> ElemWOrd a -> ShowS

show :: ElemWOrd a -> String

showList :: [ElemWOrd a] -> ShowS

Generic (ElemWOrd a) 
Instance details

Defined in ATC.OrderedMap

Associated Types

type Rep (ElemWOrd a) :: Type -> Type

Methods

from :: ElemWOrd a -> Rep (ElemWOrd a) x

to :: Rep (ElemWOrd a) x -> ElemWOrd a

FromJSON a => FromJSON (ElemWOrd a) 
Instance details

Defined in ATC.OrderedMap

Methods

parseJSON :: Value -> Parser (ElemWOrd a)

parseJSONList :: Value -> Parser [ElemWOrd a]

ToJSON a => ToJSON (ElemWOrd a) 
Instance details

Defined in ATC.OrderedMap

Methods

toJSON :: ElemWOrd a -> Value

toEncoding :: ElemWOrd a -> Encoding

toJSONList :: [ElemWOrd a] -> Value

toEncodingList :: [ElemWOrd a] -> Encoding

ShATermConvertible a => ShATermConvertible (ElemWOrd a) 
Instance details

Defined in ATC.OrderedMap

Methods

toShATermAux :: ATermTable -> ElemWOrd a -> IO (ATermTable, Int)

toShATermList' :: ATermTable -> [ElemWOrd a] -> IO (ATermTable, Int)

fromShATermAux :: Int -> ATermTable -> (ATermTable, ElemWOrd a)

fromShATermList' :: Int -> ATermTable -> (ATermTable, [ElemWOrd a])

Pretty a => Pretty (ElemWOrd a) Source # 
Instance details

Defined in Logic.Prover

ShATermLG a => ShATermLG (ElemWOrd a) Source # 
Instance details

Defined in ATC.Grothendieck

Methods

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

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

type Rep (ElemWOrd a) 
Instance details

Defined in ATC.OrderedMap

type Rep (ElemWOrd a) = D1 ('MetaData "ElemWOrd" "Common.OrderedMap" "main" 'False) (C1 ('MetaCons "EWOrd" 'PrefixI 'True) (S1 ('MetaSel ('Just "order") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: S1 ('MetaSel ('Just "ele") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))

null :: OMap k a -> Bool Source #

lookup :: (MonadFail 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 #