| Safe Haskell | None |
|---|---|
| Language | GHC2021 |
Test.Credit.Sortable.Base
Documentation
data SortableOp a Source #
Instances
class Sortable (q :: Type -> (Type -> Type) -> Type) where Source #
Methods
empty :: MonadCredit m => m (q a m) Source #
add :: (MonadCredit m, Ord a) => a -> q a m -> m (q a m) Source #
sort :: (MonadCredit m, Ord a) => q a m -> m [a] Source #
Instances
| Sortable FingerSort Source # | |
Defined in Test.Credit.Finger Methods empty :: MonadCredit m => m (FingerSort a m) Source # add :: (MonadCredit m, Ord a) => a -> FingerSort a m -> m (FingerSort a m) Source # sort :: (MonadCredit m, Ord a) => FingerSort a m -> m [a] Source # | |
| Sortable MergeSort Source # | |
Defined in Test.Credit.Sortable.MergeSort | |
| 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 # | |
class Sortable q => BoundedSortable (q :: Type -> (Type -> Type) -> Type) where Source #
Instances
| BoundedSortable FingerSort Source # | |
Defined in Test.Credit.Finger | |
| BoundedSortable MergeSort Source # | |
Defined in Test.Credit.Sortable.MergeSort | |
| BoundedSortable SMergeSort Source # | |
Defined in Test.Credit.Sortable.Scheduled | |
data S (q :: Type -> k -> Type) a (m :: k) Source #
Constructors
| E | |
| S Size (q (PrettyCell a) m) |
Instances
| MemoryCell m (q (PrettyCell a) m) => MemoryCell m (S q a m) Source # | |
Defined in Test.Credit.Sortable.Base Methods prettyCell :: S q a m -> m Memory Source # | |
| MemoryStructure (q (PrettyCell a)) => MemoryStructure (S q a) Source # | |
Defined in Test.Credit.Sortable.Base Methods prettyStructure :: MonadMemory m => S q a m -> m Memory Source # | |
| (Arbitrary a, Ord a, BoundedSortable q, Show a) => DataStructure (S q a) (SortableOp a) Source # | |
Defined in Test.Credit.Sortable.Base Methods create :: forall (m :: Type -> Type). MonadInherit m => S q a m Source # action :: MonadInherit m => S q a m -> SortableOp a -> (Credit, m (S q a m)) Source # | |
act :: (MonadCredit m, Sortable q, Ord a) => Size -> q (PrettyCell a) m -> SortableOp a -> m (S q a m) Source #