Safe Haskell | None |
---|---|
Language | Haskell98 |
Documentation
class (Ord term, Variable v, Function f v) => Term term v f | term -> v f where Source
Build a term which is a variable reference.
fApp :: f -> [term] -> term Source
Build a term by applying terms to an atomic function. f
(atomic function) is one of the type parameters, this package
is mostly indifferent to its internal structure.
foldTerm :: (v -> r) -> (f -> [term] -> r) -> term -> r Source
A fold for the term data type, which understands terms built from a variable and a term built from the application of a primitive function to other terms.
zipTerms :: (v -> v -> Maybe r) -> (f -> [term] -> f -> [term] -> Maybe r) -> term -> term -> Maybe r Source
convertTerm :: forall term1 v1 f1 term2 v2 f2. (Term term1 v1 f1, Term term2 v2 f2) => (v1 -> v2) -> (f1 -> f2) -> term1 -> term2 Source