monadiccp-0.7.6: Constraint Programming

Safe HaskellNone

Control.Search.Generator

Documentation

mmap :: (FMonadT t, MonadInfoT t, Monad m, Monad n, MonadInfo m) => (forall x. m x -> n x) -> t m a -> t n aSource

newtype VarId Source

Constructors

VarId Int 

Instances

mapE :: (HookStatsM m, HookStatsM n) => (forall x. m x -> n x) -> Eval m -> Eval nSource

inite :: Monad m => [(String, Info -> m Value)] -> Info -> m StatementSource

seqSwitch :: ReaderM SeqPos m => m a -> m a -> m aSource

class Monad m => VarInfoM m whereSource

Instances

(VarInfoM m, FMonadT t) => VarInfoM (t m) 

type MkEval m = Evalable m => Eval m -> State Int (Eval m)Source

class (VarInfoM m, HookStatsM m, MonadInfo m, MemoM m, GenModeM m, Functor m) => Evalable m Source

Instances

(VarInfoM m, HookStatsM m, MonadInfo m, MemoM m, GenModeM m, Functor m) => Evalable m 

data SeqPos Source

Constructors

OutS 
FirstS 
SecondS 

Instances

data Search Source

Constructors

forall t2 . (FMonadT t2, MonadInfoT t2) => Search 

Fields

mkeval :: forall m t1. (HookStatsM m, MonadInfoT t1, FMonadT t1, Evalable m) => MkEval ((t1 :> t2) m)
 
runsearch :: forall m x. Evalable m => t2 m x -> m x
 

(@.) :: Monad m => m (a -> b) -> m a -> m bSource

(@$) :: Monad m => (a -> b) -> m a -> m bSource

(@++@) :: ([a], [a1]) -> ([a], [a1]) -> ([a], [a1])Source

numSwitch :: ReaderM t m => (t -> m b) -> m bSource

data SearchCombiner Source

Constructors

forall t1 t2 . (FMonadT t1, FMonadT t2, MonadInfoT t1, MonadInfoT t2) => SearchCombiner 

Fields

runner :: forall m x. Evalable m => (t1 :> t2) m x -> m x
 
elems :: [SearchCombinerElem t1 t2]
 

extractCombiners :: (Evalable m, FMonadT t', MonadInfoT t', FMonadT t1, MonadInfoT t1, FMonadT t2, MonadInfoT t2) => [SearchCombinerElem t1 t2] -> Eval (t' ((t1 :> t2) m)) -> State Int [Eval (t' ((t1 :> t2) m))]Source

memo :: Memoable m => String -> Info -> m -> mSource

memoLoop :: (Functor m, MonadInfo m, MemoM m, HookStatsM m, VarInfoM m, GenModeM m) => Eval m -> Eval mSource

rReaderT :: (Show s, MemoM m) => s -> MemoReaderT s m a -> m aSource

rp :: Pretty a => Int -> a -> StringSource

cachedClone :: (Functor m, MonadInfo m, MemoM m, HookStatsM m, VarInfoM m, GenModeM m) => Info -> Info -> m StatementSource

nextSame :: HookStatsM m => Eval m -> Info -> m StatementSource

nextDiff :: HookStatsM m => Eval m -> Info -> m StatementSource

pushLeft :: HookStatsM m => Eval m -> Info -> m StatementSource

pushRight :: HookStatsM m => Eval m -> Info -> m StatementSource

bodyE :: HookStatsM m => Eval m -> Info -> m StatementSource

addE :: HookStatsM m => Eval m -> Info -> m StatementSource

returnE :: HookStatsM m => Eval m -> Info -> m StatementSource

initE :: HookStatsM m => Eval m -> Info -> m StatementSource

failE :: HookStatsM m => Eval m -> Info -> m StatementSource

tryE :: HookStatsM m => Eval m -> Info -> m StatementSource

startTryE :: HookStatsM m => Eval m -> Info -> m StatementSource

tryE_ :: HookStatsM m => Eval m -> Info -> m StatementSource

deleteE :: HookStatsM m => Eval m -> Info -> m StatementSource