Safe Haskell | None |
---|---|
Language | Haskell2010 |
Documentation
Instances
Monad Matrix Source # | |
Functor Matrix Source # | |
Applicative Matrix Source # | |
Alternative Matrix Source # | |
MonadPlus Matrix Source # | |
Search Matrix Source # | |
Defined in Control.Monad.Search.Combinatorial fromRc :: Recomp a -> Matrix a Source # toRc :: Matrix a -> Recomp a Source # fromMx :: Matrix a -> Matrix a Source # toMx :: Matrix a -> Matrix a Source # fromDB :: DBound a -> Matrix a Source # fromDF :: [a] -> Matrix a Source # toDF :: Matrix a -> [a] Source # mapDepth :: (Bag a -> Bag b) -> Matrix a -> Matrix b Source # catBags :: Matrix (Bag a) -> Matrix a Source # mergesortDepthWithBy :: (k -> k -> k) -> (k -> k -> Ordering) -> Matrix k -> Matrix k Source # ifDepth :: (Int -> Bool) -> Matrix a -> Matrix a -> Matrix a Source # | |
Delay Matrix Source # | |
SStrategy Matrix Source # | |
Memoable Matrix Recomp Source # | |
Show a => Show (Matrix a) Source # | |
Semigroup (Matrix a) Source # | |
Monoid (Matrix a) Source # | |
Instances
Monad Recomp Source # | |
Functor Recomp Source # | |
Applicative Recomp Source # | |
Alternative Recomp Source # | |
MonadPlus Recomp Source # | |
Search Recomp Source # | |
Defined in Control.Monad.Search.Combinatorial fromRc :: Recomp a -> Recomp a Source # toRc :: Recomp a -> Recomp a Source # fromMx :: Matrix a -> Recomp a Source # toMx :: Recomp a -> Matrix a Source # fromDB :: DBound a -> Recomp a Source # fromDF :: [a] -> Recomp a Source # toDF :: Recomp a -> [a] Source # mapDepth :: (Bag a -> Bag b) -> Recomp a -> Recomp b Source # catBags :: Recomp (Bag a) -> Recomp a Source # mergesortDepthWithBy :: (k -> k -> k) -> (k -> k -> Ordering) -> Recomp k -> Recomp k Source # ifDepth :: (Int -> Bool) -> Recomp a -> Recomp a -> Recomp a Source # | |
Delay Recomp Source # | |
Memoable Matrix Recomp Source # | |
Show (Recomp a) Source # | |
Semigroup (Recomp a) Source # | |
Monoid (Recomp a) Source # | |
Instances
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.
:: (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.
Instances
Instances
Monad DBound Source # | |
Functor DBound Source # | |
Applicative DBound Source # | |
Alternative DBound Source # | |
MonadPlus DBound Source # | |
Search DBound Source # | |
Defined in Control.Monad.Search.Combinatorial fromRc :: Recomp a -> DBound a Source # toRc :: DBound a -> Recomp a Source # fromMx :: Matrix a -> DBound a Source # toMx :: DBound a -> Matrix a Source # fromDB :: DBound a -> DBound a Source # fromDF :: [a] -> DBound a Source # toDF :: DBound a -> [a] Source # mapDepth :: (Bag a -> Bag b) -> DBound a -> DBound b Source # catBags :: DBound (Bag a) -> DBound a Source # mergesortDepthWithBy :: (k -> k -> k) -> (k -> k -> Ordering) -> DBound k -> DBound k Source # ifDepth :: (Int -> Bool) -> DBound a -> DBound a -> DBound a Source # | |
Delay DBound Source # | |
DB DBound Source # | |
SStrategy DBound Source # | |
Memoable DBMemo DBound Source # | |
Show (DBound a) Source # | |
Instances
shrink :: (Ix b, Num b) => (a -> a -> a) -> (a -> a -> Maybe Ordering) -> b -> [(a, b)] -> [(a, b)] Source #