| MagicHaskeller-0.8.6.2: Automatic inductive functional programmer by systematic search | Contents | Index |
|
Control.Monad.Search.Combinatorial |
|
|
|
|
Documentation |
|
newtype Matrix a |
Constructors | | Instances | |
|
|
(/\) :: Monad m => (a -> m b) -> (t -> m a) -> t -> m b |
|
(\/) :: MonadPlus m => (t -> m a) -> (t -> m a) -> t -> m a |
|
newtype Recomp a |
Constructors | | Instances | |
|
|
newtype RecompT m a |
Constructors | | Instances | |
|
|
rcToMx :: Recomp a -> Matrix a |
|
mxToRc :: Matrix a -> Recomp a |
|
class (Delay m, MonadPlus m, Functor m) => Search m where |
| Methods | fromRc :: Recomp a -> m a | | toRc :: m a -> Recomp a | | fromMx :: Matrix a -> m a | | toMx :: m a -> Matrix a | | fromDB :: DBound a -> m a | | fromDF :: [a] -> m a | | toDF :: m a -> [a] | | mapDepth :: (Bag a -> Bag b) -> m a -> m b | mapDepth applies a function to the bag at each depth.
| | catBags :: m (Bag a) -> m a | catBags flattens each bag.
| | mergesortDepthWithBy | :: (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.
|
| | ifDepth :: (Int -> Bool) -> m a -> m a -> m a |
| | Instances | |
|
|
diag :: Stream (Stream a) -> Stream (Bag a) |
|
class Delay m where |
| Methods | delay :: m a -> m a | | ndelay :: Int -> m a -> m a |
| | Instances | |
|
|
msumMx :: Bag a -> Matrix a |
|
msumRc :: Bag a -> Recomp a |
|
listToRc :: Bag a -> Recomp a |
|
consMx :: Bag a -> Matrix a -> Matrix a |
|
consRc :: Bag a -> Recomp a -> Recomp a |
|
zipWithBF :: Monad m => (a -> b -> m c) -> m a -> m b -> m c |
|
printMx :: Show t => Matrix t -> IO () |
|
printNMx :: Show t => Int -> Matrix t -> IO () |
|
mapDepthDB :: (Bag (a, Int) -> Bag (b, Int)) -> DBound a -> DBound b |
|
type Bag a = [a] |
|
type Stream a = [a] |
|
cat :: [[a]] -> [a] |
|
toList :: a -> a |
|
getDepth :: Recomp Int |
|
scanl1BF :: Search m => m x -> m x |
|
zipDepthMx :: (Int -> Bag a -> Bag b) -> Matrix a -> Matrix b |
|
zipDepthRc :: (Int -> Bag a -> Bag b) -> Recomp a -> Recomp b |
|
zipDepth3Mx :: (Int -> Bag a -> Bag b -> Bag c) -> Matrix a -> Matrix b -> Matrix c |
|
zipDepth3Rc :: (Int -> Bag a -> Bag b -> Bag c) -> Recomp a -> Recomp b -> Recomp c |
|
scanlRc :: (Bag a -> Bag b -> Bag a) -> Bag a -> Recomp b -> Recomp a |
|
newtype DBound a |
Constructors | | Instances | |
|
|
zipDepthDB :: (Int -> Bag (a, Int) -> Bag (b, Int)) -> DBound a -> DBound b |
|
newtype DBMemo a |
Constructors | | Instances | |
|
|
class Search n => Memoable m n where |
| Methods | tabulate :: n a -> m a | | applyMemo :: m a -> n a |
| | Instances | |
|
|
shrink :: (Ix i, Num i) => (k -> k -> k) -> (k -> k -> Maybe Ordering) -> i -> [(k, i)] -> [(k, i)] |
|
Produced by Haddock version 2.7.2 |