MagicHaskeller-0.8.6.2: Automatic inductive functional programmer by systematic searchContentsIndex
Control.Monad.Search.Combinatorial
Documentation
newtype Matrix a
Constructors
Mx
unMx :: Stream (Bag a)
show/hide 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
Rc
unRc :: Int -> Bag a
show/hide Instances
newtype RecompT m a
Constructors
RcT
unRcT :: Int -> m (Bag a)
show/hide 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
show/hide Instances
diag :: Stream (Stream a) -> Stream (Bag a)
class Delay m where
Methods
delay :: m a -> m a
ndelay :: Int -> m a -> m a
show/hide 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
DB
unDB :: Int -> Bag (a, Int)
show/hide Instances
zipDepthDB :: (Int -> Bag (a, Int) -> Bag (b, Int)) -> DBound a -> DBound b
newtype DBMemo a
Constructors
DBM
unDBM :: Stream (Bag (a, Int))
show/hide Instances
class Search n => Memoable m n where
Methods
tabulate :: n a -> m a
applyMemo :: m a -> n a
show/hide 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