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 #