Safe Haskell | None |
---|---|
Language | GHC2021 |
Test.Credit.Sortable.Scheduled
Synopsis
- rev :: MonadCredit m => [a] -> [a] -> m [a]
- 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
- streamToList :: MonadCredit m => Stream m a -> m [a]
- type Schedule (m :: Type -> Type) a = [Stream m a]
- data SMergeSort a (m :: Type -> Type) = SMergeSort Size [(Stream m a, Schedule m a)]
- mrg :: (MonadCredit m, Ord a) => Stream m a -> Stream m a -> m (Stream m a)
- exec1 :: MonadCredit m => Schedule m a -> m (Schedule m a)
- exec2 :: MonadCredit m => (Stream m a, Schedule m a) -> m (Stream m a, Schedule m a)
- execAll :: MonadCredit m => Schedule m a -> m ()
- addSeg :: (MonadCredit m, Ord a) => Stream m a -> [(Stream m a, Schedule m a)] -> Size -> Schedule m a -> m [(Stream m a, Schedule m a)]
- mrgAll :: (MonadCredit m, Ord a) => Stream m a -> [(Stream m a, Schedule m a)] -> m (Stream m a)
Documentation
rev :: MonadCredit m => [a] -> [a] -> m [a] Source #
data Stream (m :: Type -> Type) a Source #
Instances
(MonadMemory m, MemoryCell m a) => MemoryCell m (Stream m a) Source # | |
Defined in Test.Credit.Sortable.Scheduled 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
streamToList :: MonadCredit m => Stream m a -> m [a] Source #
data SMergeSort a (m :: Type -> Type) Source #
Constructors
SMergeSort Size [(Stream m a, Schedule m a)] |
Instances
BoundedSortable SMergeSort Source # | |
Defined in Test.Credit.Sortable.Scheduled | |
Sortable SMergeSort Source # | |
Defined in Test.Credit.Sortable.Scheduled Methods empty :: MonadCredit m => m (SMergeSort a m) Source # add :: (MonadCredit m, Ord a) => a -> SMergeSort a m -> m (SMergeSort a m) Source # sort :: (MonadCredit m, Ord a) => SMergeSort a m -> m [a] Source # | |
(MonadMemory m, MemoryCell m a) => MemoryCell m (SMergeSort a m) Source # | |
Defined in Test.Credit.Sortable.Scheduled Methods prettyCell :: SMergeSort a m -> m Memory Source # | |
Pretty a => MemoryStructure (SMergeSort (PrettyCell a)) Source # | |
Defined in Test.Credit.Sortable.Scheduled Methods prettyStructure :: MonadMemory m => SMergeSort (PrettyCell a) m -> m Memory Source # |
execAll :: MonadCredit m => Schedule m a -> m () Source #