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

Test.Credit.Deque.Bankers

Synopsis

Documentation

indirect :: MonadInherit m => SLazyCon m (Stream m a) -> m (Stream m a) Source #

Delay a computation, but do not consume any credits

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

Constructors

BDeque 

Fields

Instances

Instances details
BoundedDeque BDeque Source # 
Instance details

Defined in Test.Credit.Deque.Bankers

Methods

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

Deque BDeque Source # 
Instance details

Defined in Test.Credit.Deque.Bankers

Methods

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

cons :: MonadInherit m => a -> BDeque a m -> m (BDeque a m) Source #

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

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

unsnoc :: MonadInherit m => BDeque a m -> m (Maybe (BDeque a m, a)) Source #

concat :: MonadInherit m => BDeque a m -> BDeque a m -> m (BDeque a m) Source #

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

Defined in Test.Credit.Deque.Bankers

Methods

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

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

Defined in Test.Credit.Deque.Bankers

isEmpty :: forall a (m :: Type -> Type). BDeque a m -> Bool Source #

size :: forall a (m :: Type -> Type). BDeque a m -> Int Source #

bdeque :: MonadInherit m => BDeque a m -> m (BDeque a m) Source #