Safe Haskell | None |
---|---|
Language | Haskell98 |
Control.Monad.Search.Combinatorial
Documentation
Instances
(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
Methods
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.
Arguments
:: (k -> k -> k) | Combiner, which is used when there are equivalent elements (compared by the comparer specified by the next argument). The return value of this combiner should also be equivalent to the two arguments. |
-> (k -> k -> Ordering) | Comparer |
-> m k | |
-> m k |
mergesortDepthWithBy
converts bags to sets, by (possibly sorting each bag and) removing duplicates.
Efficiency on lists with lots of duplicates is required.
Minimal complete definition
Instances
(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 t1, Ix t1) => (t -> t -> t) -> (t -> t -> Maybe Ordering) -> t1 -> [(t, t1)] -> [(t, t1)] Source