creditmonad-1.0.0: Reasoning about amortized time complexity
Safe HaskellNone
LanguageGHC2021

Test.Credit.Queue.Bootstrapped

Documentation

rev :: MonadCredit m => [a] -> [a] -> m [a] Source #

data BLazyCon (m :: k) a where Source #

Constructors

Rev :: forall {k} a1 (m :: k). [a1] -> BLazyCon m [a1] 

Instances

Instances details
MonadCredit m => HasStep (BLazyCon m :: Type -> Type) (m :: Type -> Type) Source # 
Instance details

Defined in Test.Credit.Queue.Bootstrapped

Methods

step :: BLazyCon m a -> m a Source #

(MonadMemory m, MemoryCell m a) => MemoryCell m (BLazyCon m a) Source # 
Instance details

Defined in Test.Credit.Queue.Bootstrapped

Methods

prettyCell :: BLazyCon m a -> m Memory Source #

type BThunk (m :: Type -> Type) = Thunk m (BLazyCon m) Source #

data NEQueue a (m :: Type -> Type) Source #

Constructors

NEQueue 

Fields

data Bootstrapped a (m :: Type -> Type) Source #

Constructors

Empty 
BQueue (NEQueue a m) 

Instances

Instances details
BoundedQueue Bootstrapped Source # 
Instance details

Defined in Test.Credit.Queue.Bootstrapped

Methods

qcost :: Size -> QueueOp a -> Credit Source #

Queue Bootstrapped Source # 
Instance details

Defined in Test.Credit.Queue.Bootstrapped

Methods

empty :: MonadInherit m => m (Bootstrapped a m) Source #

snoc :: MonadInherit m => Bootstrapped a m -> a -> m (Bootstrapped a m) Source #

uncons :: MonadInherit m => Bootstrapped a m -> m (Maybe (a, Bootstrapped a m)) Source #

(MonadMemory m, MemoryCell m a) => MemoryCell m (Bootstrapped a m) Source # 
Instance details

Defined in Test.Credit.Queue.Bootstrapped

Pretty a => MemoryStructure (Bootstrapped (PrettyCell a)) Source # 
Instance details

Defined in Test.Credit.Queue.Bootstrapped

snoc' :: MonadCredit m => Bootstrapped a m -> a -> m (Bootstrapped a m) Source #

uncons'' :: MonadCredit m => NEQueue a m -> m (a, Bootstrapped a m) Source #