Safe Haskell | None |
---|---|
Language | Haskell98 |
Documentation
(Functor m, Monad m) => Monad (RecompT m) Source # | |
Functor f => Functor (RecompT f) Source # | |
(Functor m, Monad m) => Applicative (RecompT m) Source # | |
(Functor m, Monad m) => Alternative (RecompT m) Source # | |
(Functor m, Monad m) => MonadPlus (RecompT m) Source # | |
(Functor m, Monad m) => Search (RecompT m) Source # | |
Monad m => Delay (RecompT m) Source # | |
(Functor m, Monad m) => Monoid (RecompT m a) Source # | |
class (Delay m, MonadPlus m, Functor m) => Search m where Source #
fromRc :: Recomp a -> m a Source #
toRc :: m a -> Recomp a Source #
fromMx :: Matrix a -> m a Source #
toMx :: m a -> Matrix a Source #
fromDB :: DBound a -> m a Source #
mapDepth :: (Bag a -> Bag b) -> m a -> m b Source #
mapDepth
applies a function to the bag at each depth.
catBags :: m (Bag a) -> m a Source #
catBags
flattens each bag.
mergesortDepthWithBy :: (k -> k -> k) -> (k -> k -> Ordering) -> m k -> m k Source #
mergesortDepthWithBy
converts bags to sets, by (possibly sorting each bag and) removing duplicates.
Efficiency on lists with lots of duplicates is required.
(Functor m, Monad m) => Monad (DBoundT m) Source # | |
Functor f => Functor (DBoundT f) Source # | |
(Functor m, Monad m) => Applicative (DBoundT m) Source # | |
(Functor m, Monad m) => Alternative (DBoundT m) Source # | |
(Functor m, Monad m) => MonadPlus (DBoundT m) Source # | |
(Functor m, Monad m) => Search (DBoundT m) Source # | |
Monad m => Delay (DBoundT m) Source # | |
(Functor m, Monad m) => DB (DBoundT m) Source # | |
shrink :: (Num t, Ix t) => (t1 -> t1 -> t1) -> (t1 -> t1 -> Maybe Ordering) -> t -> [(t1, t)] -> [(t1, t)] Source #