| Maintainer | bastiaan.heeren@ou.nl |
|---|---|
| Stability | provisional |
| Portability | portable (depends on ghc) |
| Safe Haskell | None |
| Language | Haskell98 |
Ideas.Common.Rewriting
Description
Documentation
class WithMetaVars a where Source #
Minimal complete definition
class WithFunctions a where Source #
Minimal complete definition
Methods
toTermList :: [a] -> Term Source #
fromTerm :: MonadPlus m => Term -> m a Source #
fromTermList :: MonadPlus m => Term -> m [a] Source #
Instances
makeAssociative :: Symbol -> Symbol Source #
trueSymbol :: Symbol Source #
falseSymbol :: Symbol Source #
isFunction :: (WithFunctions a, Monad m) => Symbol -> a -> m [a] Source #
unary :: WithFunctions a => Symbol -> a -> a Source #
binary :: WithFunctions a => Symbol -> a -> a -> a Source #
ternary :: WithFunctions a => Symbol -> a -> a -> a -> a Source #
isVariable :: WithVars a => a -> Bool Source #
isMetaVar :: WithMetaVars a => a -> Bool Source #
metaVarSet :: (Uniplate a, WithMetaVars a) => a -> IntSet Source #
hasMetaVar :: (Uniplate a, WithMetaVars a) => Int -> a -> Bool Source #
nextMetaVar :: (Uniplate a, WithMetaVars a) => a -> Int Source #
class (IsTerm a, Show a) => RuleBuilder t a | t -> a where Source #
Minimal complete definition
Instances
| (IsTerm a, Show a) => RuleBuilder (RuleSpec a) a Source # | |
Defined in Ideas.Common.Rewriting.RewriteRule | |
| (Different a, RuleBuilder t b) => RuleBuilder (a -> t) b Source # | |
Defined in Ideas.Common.Rewriting.RewriteRule | |
class Different a where Source #
Minimal complete definition
Instances
| Different Bool Source # | |
| Different Char Source # | |
| Different Double Source # | |
| Different Float Source # | |
| Different Int Source # | |
| Different Integer Source # | |
| Different Rational Source # | |
| Different Term Source # | |
| Different a => Different [a] Source # | |
Defined in Ideas.Common.Rewriting.RewriteRule | |
| (Different a, Different b) => Different (a, b) Source # | |
Defined in Ideas.Common.Rewriting.RewriteRule | |
| (Different a, Different b, Different c) => Different (a, b, c) Source # | |
Defined in Ideas.Common.Rewriting.RewriteRule | |
data RewriteRule a Source #
Instances
| Apply RewriteRule Source # | |
Defined in Ideas.Common.Rewriting.RewriteRule Methods applyAll :: RewriteRule a -> a -> [a] Source # | |
| IsStrategy RewriteRule Source # | |
Defined in Ideas.Common.Strategy.Abstract Methods toStrategy :: RewriteRule a -> Strategy a Source # | |
| Show (RewriteRule a) Source # | |
Defined in Ideas.Common.Rewriting.RewriteRule Methods showsPrec :: Int -> RewriteRule a -> ShowS # show :: RewriteRule a -> String # showList :: [RewriteRule a] -> ShowS # | |
| HasId (RewriteRule a) Source # | |
Defined in Ideas.Common.Rewriting.RewriteRule Methods getId :: RewriteRule a -> Id Source # changeId :: (Id -> Id) -> RewriteRule a -> RewriteRule a Source # | |
Constructors
| a :~> a infixl 1 |
makeRewriteRule :: (IsId n, RuleBuilder f a) => n -> f -> RewriteRule a Source #
termRewriteRule :: (IsId n, IsTerm a, Show a) => n -> RuleSpec Term -> RewriteRule a Source #
symbolMatcher :: Symbol -> SymbolMatch -> RewriteRule a -> RewriteRule a Source #
symbolBuilder :: Symbol -> ([Term] -> Term) -> RewriteRule a -> RewriteRule a Source #
showRewriteRule :: Bool -> RewriteRule a -> Maybe String Source #
metaInRewriteRule :: RewriteRule a -> [Int] Source #
renumberRewriteRule :: Int -> RewriteRule a -> RewriteRule a Source #