Safe Haskell | None |
---|---|
Language | GHC2021 |
Test.Credit.RandomAccess.Zeroless
Synopsis
- data Stream (m :: Type -> Type) a
- indirect :: MonadCredit m => m (Stream m a) -> m (Stream m a)
- credit :: MonadCredit m => Credit -> Stream m a -> m ()
- smatch :: MonadCredit m => Stream m a -> m b -> (a -> Stream m a -> m b) -> m b
- data Tree a
- data Digit a
- size :: Tree a -> Int
- link :: Tree a -> Tree a -> Tree a
- consTree :: MonadCredit m => Tree a -> Stream m (Digit a) -> m (Stream m (Digit a))
- unconsTree :: MonadCredit m => Stream m (Digit a) -> m (Maybe (Tree a, Stream m (Digit a)))
- lookupTree :: MonadCredit m => Int -> Tree a -> m (Maybe a)
- updateTree :: MonadCredit m => Int -> a -> Tree a -> m (Tree a)
- newtype ZerolessRA a (m :: Type -> Type) = ZerolessRA {
- unZerolessRA :: Stream m (Digit a)
Documentation
data Stream (m :: Type -> Type) a Source #
Instances
(MonadMemory m, MemoryCell m a) => MemoryCell m (Stream m a) Source # | |
Defined in Test.Credit.RandomAccess.Zeroless Methods prettyCell :: Stream m a -> m Memory Source # |
Arguments
:: MonadCredit m | |
=> Stream m a | Scrutinee |
-> m b | Nil case |
-> (a -> Stream m a -> m b) | Cons case |
-> m b |
Smart destructor for streams, consuming one credit
unconsTree :: MonadCredit m => Stream m (Digit a) -> m (Maybe (Tree a, Stream m (Digit a))) Source #
lookupTree :: MonadCredit m => Int -> Tree a -> m (Maybe a) Source #
updateTree :: MonadCredit m => Int -> a -> Tree a -> m (Tree a) Source #
newtype ZerolessRA a (m :: Type -> Type) Source #
Constructors
ZerolessRA | |
Fields
|
Instances
BoundedRandomAccess ZerolessRA Source # | |
Defined in Test.Credit.RandomAccess.Zeroless | |
RandomAccess ZerolessRA Source # | |
Defined in Test.Credit.RandomAccess.Zeroless Methods empty :: MonadCredit m => m (ZerolessRA a m) Source # cons :: MonadCredit m => a -> ZerolessRA a m -> m (ZerolessRA a m) Source # uncons :: MonadCredit m => ZerolessRA a m -> m (Maybe (a, ZerolessRA a m)) Source # lookup :: MonadCredit m => Int -> ZerolessRA a m -> m (Maybe a) Source # update :: MonadCredit m => Int -> a -> ZerolessRA a m -> m (ZerolessRA a m) Source # | |
(MonadMemory m, MemoryCell m a) => MemoryCell m (ZerolessRA a m) Source # | |
Defined in Test.Credit.RandomAccess.Zeroless Methods prettyCell :: ZerolessRA a m -> m Memory Source # | |
Pretty a => MemoryStructure (ZerolessRA (PrettyCell a)) Source # | |
Defined in Test.Credit.RandomAccess.Zeroless Methods prettyStructure :: MonadMemory m => ZerolessRA (PrettyCell a) m -> m Memory Source # |