Strafunski-StrategyLib-5.0.0.5: Library for strategic programming

Safe HaskellNone
LanguageHaskell98

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 m Source

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

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

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

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

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

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 m Source

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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