Hets - the Heterogeneous Tool Set

CopyrightC. Maeder DFKI Bremen 2008
LicenseGPLv2 or higher, see LICENSE.txt
MaintainerChristian.Maeder@dfki.de
Stabilityexperimental
Portabilityportable
Safe HaskellSafe

Common.Lib.SizedList

Description

a list plus its length for a more efficient history implementation. Parts of the implementation is stolen from Data.Edison.Seq.SizedSeq

Documentation

data SizedList a Source #

Instances

Eq a => Eq (SizedList a) Source # 

Methods

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

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

Data a => Data (SizedList a) Source # 

Methods

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

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

toConstr :: SizedList a -> Constr

dataTypeOf :: SizedList a -> DataType

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

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

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

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

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

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

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

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

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

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

Ord a => Ord (SizedList a) Source # 

Methods

compare :: SizedList a -> SizedList a -> Ordering

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

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

(>) :: SizedList a -> SizedList a -> Bool

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

max :: SizedList a -> SizedList a -> SizedList a

min :: SizedList a -> SizedList a -> SizedList a

Show a => Show (SizedList a) Source # 

Methods

showsPrec :: Int -> SizedList a -> ShowS

show :: SizedList a -> String

showList :: [SizedList a] -> ShowS

ShATermLG a => ShATermLG (SizedList a) Source # 

Methods

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

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

toList :: SizedList a -> [a] Source #

null :: SizedList a -> Bool Source #

size :: SizedList a -> Int Source #

take :: Int -> SizedList a -> SizedList a Source #

drop :: Int -> SizedList a -> SizedList a Source #

map :: (a -> b) -> SizedList a -> SizedList b Source #