module Control.Search.Combinator.Success (dummy) where import Control.Search.Language import Control.Search.GeneratorInfo import Control.Search.Generator import Control.Search.Memo import Control.Monatron.IdT successLoop :: Evalable m => Eval m -> Eval m successLoop this = commentEval $ Eval { structs = ([],[]) , treeState_ = [] , initH = const $ return Skip , evalState_ = [] , pushLeftH = error "succesloop.tyE_" , pushRightH = error "succesloop.tyE_" , nextSameH = \i -> return Skip , nextDiffH = \i -> return Skip , bodyH = addE this . resetInfo -- XXX , addH = \i -> tryE this (resetInfo i) , failH = const $ return Skip , returnH = \i -> cachedCommit i -- const $ return Skip -- , continue = \_ -> return true , tryH = returnE this . resetInfo , startTryH = \i -> (return $ comment "") @>>>@ (returnE this . resetInfo) i @>>>@ (return $ comment "") , tryLH = error "succesloop.tryE_" , intArraysE = [] , boolArraysE = [] , intVarsE = [] , deleteH = \i -> return Skip , toString = "succeed" , canBranch = return False , complete = const $ return true } dummy = Search { mkeval = return . successLoop, runsearch = runIdT }