Strafunski-StrategyLib-5.0.0.3: Library for strategic programming

Safe HaskellNone

Data.Generics.Strafunski.StrategyLib.Models.Deriving.StrategyPrimitives

Documentation

class Data x => Term x Source

Instances

(Typeable x, Data x) => Term x 

data Monad m => TP m Source

Instances

data Monad m => TU a m Source

Instances

StrategyMSubst (TU a) 
(Monad m, MonadPlus m, Strategy (TU u) m) => StrategyPlus (TU u) m 
(Monad m, Monoid u, Strategy (TU u) m) => StrategyMonoid (TU u) m 
Monad m => Strategy (TU a) m 
(Monad m, Term t) => StrategyApply (TU a) m t a 

paraTP :: Monad m => (forall t. t -> m t) -> TP mSource

paraTU :: Monad m => (forall t. t -> m a) -> TU a mSource

applyTP :: (Monad m, Data x) => TP m -> x -> m xSource

applyTU :: (Monad m, Data x) => TU a m -> x -> m aSource

adhocTP :: (Monad m, Data t) => TP m -> (t -> m t) -> TP mSource

adhocTU :: (Monad m, Data t) => TU a m -> (t -> m a) -> TU a mSource

msubstTP :: (Monad m, Monad m') => (forall t. m t -> m' t) -> TP m -> TP m'Source

msubstTU :: (Monad m, Monad m') => (m a -> m' a) -> TU a m -> TU a m'Source

seqTP :: Monad m => TP m -> TP m -> TP mSource

seqTU :: Monad m => TP m -> TU a m -> TU a mSource

passTP :: Monad m => TU a m -> (a -> TP m) -> TP mSource

passTU :: Monad m => TU a m -> (a -> TU b m) -> TU b mSource

choiceTP :: MonadPlus m => TP m -> TP m -> TP mSource

choiceTU :: MonadPlus m => TU a m -> TU a m -> TU a mSource

mchoicesTP :: (Monad m, MonadPlus (t m), MonadUnTrans MaybeAlg t) => [TP (t m)] -> TP m -> TP mSource

mchoicesTU :: (Monad m, MonadPlus (t m), MonadUnTrans MaybeAlg t) => [TU a (t m)] -> TU a m -> TU a mSource

allTP :: Monad m => TP m -> TP mSource

allTU :: Monad m => (a -> a -> a) -> a -> TU a m -> TU a mSource

allTU' :: (Monad m, Monoid a) => TU a m -> TU a mSource

oneTP :: MonadPlus m => TP m -> TP mSource

oneTU :: MonadPlus m => TU a m -> TU a mSource

anyTP :: MonadPlus m => TP m -> TP mSource

anyTU :: MonadPlus m => (a -> a -> a) -> a -> TU a m -> TU a mSource

anyTU' :: (MonadPlus m, Monoid a) => TU a m -> TU a mSource

someTP :: MonadPlus m => TP m -> TP mSource

someTU :: MonadPlus m => (a -> a -> a) -> a -> TU a m -> TU a mSource

someTU' :: (Monoid a, MonadPlus m) => TU a m -> TU a mSource

injTP :: MonadPlus m => TP m -> TP mSource