Safe Haskell | None |
---|
- data Binding
- exactlyS :: MonadPlus m => String -> ATermTable -> m ()
- exactlyI :: MonadPlus m => Integer -> ATermTable -> m ()
- exactlyL :: MonadPlus m => [ATermTable -> m a] -> ATermTable -> m [a]
- exactlyA :: MonadPlus m => String -> [ATermTable -> m a] -> ATermTable -> m [a]
- exactlyNamed :: MonadPlus m => String -> ATermTable -> m ()
- contains :: [ATermTable -> a] -> ATermTable -> [a]
- containsL :: [ATermTable -> a] -> ATermTable -> [a]
- containsA :: String -> [ATermTable -> a] -> ATermTable -> [a]
- containsChildren :: Monad m => m (ATermTable -> b) -> m Int -> ATermTable -> m b
- bindT :: MonadPlus m => ATermTable -> m Binding
- bindL :: MonadPlus m => ATermTable -> m Binding
- bindI :: MonadPlus m => ATermTable -> m Binding
- bindS :: MonadPlus m => ATermTable -> m Binding
- bindA :: MonadPlus m => ATermTable -> m Binding
Types
Binding type gives you back the parts of the ATerm that that match.
Combinators
exactlyS :: MonadPlus m => String -> ATermTable -> m ()Source
Matches exactly the string s
within the ATerm
exactlyI :: MonadPlus m => Integer -> ATermTable -> m ()Source
Matches exactly the integer i
within the ATerm
exactlyL :: MonadPlus m => [ATermTable -> m a] -> ATermTable -> m [a]Source
Matches exactly the list xs
within the ATerm
exactlyA :: MonadPlus m => String -> [ATermTable -> m a] -> ATermTable -> m [a]Source
Matches the string exactly
exactlyNamed :: MonadPlus m => String -> ATermTable -> m ()Source
Looks for an Appl with name s
and any children
contains :: [ATermTable -> a] -> ATermTable -> [a]Source
Matches a partial specification against the children. The matching is maximised so that if the pattern occurs more than once it is matched each time it appears.
containsL :: [ATermTable -> a] -> ATermTable -> [a]Source
Matches a partial specification of a sub aterm List. The matching is maximised so that if the pattern occurs more than once it is matched each time it appears.
containsA :: String -> [ATermTable -> a] -> ATermTable -> [a]Source
Matches a partial specification of an Appl. The matching is maximised so that if the pattern occurs more than once it is match each time it appears.
containsChildren :: Monad m => m (ATermTable -> b) -> m Int -> ATermTable -> m bSource
bindT :: MonadPlus m => ATermTable -> m BindingSource
Matches any ATerm and generates a binding to that term
bindL :: MonadPlus m => ATermTable -> m BindingSource
Matches any list and generates a binding to that list
bindI :: MonadPlus m => ATermTable -> m BindingSource
Matches any integer and generates a binding to that integer
bindS :: MonadPlus m => ATermTable -> m BindingSource
Matches any string and generates a binding to that string Strings have the form (Appl somestring [] []). Not to be confused with matching the the string part of an Appl.
bindA :: MonadPlus m => ATermTable -> m BindingSource
Matches any Appl and generates a binding to that Appl