Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
TPDB.Data.Term
Synopsis
- module TPDB.Data.Term.Plain
- type Position = [Int]
- subterms :: TermC v c => Term v c -> [Term v c]
- peek :: TermC v c => Term v c -> Position -> Term v c
- poke :: TermC v c => Term v c -> (Position, Term v c) -> Term v c
- pos :: TermC v c => Term v c -> [Position]
- vmap :: (TermC v s, TermC u s) => (v -> u) -> Term v s -> Term u s
- tmap :: (t -> s) -> Term v t -> Term v s
- positions :: TermC v c => Term v c -> [(Position, Term v c)]
- sympos :: TermC v c => Term v c -> [Position]
- varpos :: TermC v c => Term v c -> [Position]
- leafpos :: TermC v c => Term v c -> [Position]
- strict_subterms :: Term v c -> [Term v c]
- isSubtermOf :: (TermC v c, Eq v, Eq c) => Term v c -> Term v c -> Bool
- isStrictSubtermOf :: (TermC v c, Eq v, Eq c) => Term v c -> Term v c -> Bool
- pmap :: (TermC v c, TermC v d) => (Position -> c -> d) -> Term v c -> Term v d
- rpmap :: (TermC v c, TermC v d) => (Position -> c -> d) -> Term v c -> Term v d
- peek_symbol :: TermC v c => Term v c -> Position -> c
- poke_symbol :: TermC v c => Term v c -> (Position, c) -> Term v c
- pokes :: TermC v c => Term v c -> [(Position, Term v c)] -> Term v c
- symsl :: TermC v c => Term v c -> [c]
- lsyms :: (Ord c, TermC v c) => Term v c -> [c]
- isvar :: TermC v c => Term v c -> Bool
- lvars :: (Ord v, TermC v c) => Term v c -> [v]
- voccs :: TermC v c => Term v c -> [v]
Documentation
module TPDB.Data.Term.Plain
strict_subterms :: Term v c -> [Term v c] Source #
pmap :: (TermC v c, TermC v d) => (Position -> c -> d) -> Term v c -> Term v d Source #
compute new symbol at position, giving the position
rpmap :: (TermC v c, TermC v d) => (Position -> c -> d) -> Term v c -> Term v d Source #
compute new symbol from *reverse* position and previous symbol this is more efficient (no reverse needed)
poke_symbol :: TermC v c => Term v c -> (Position, c) -> Term v c Source #
warning: don't check arity
symsl :: TermC v c => Term v c -> [c] Source #
list of function symbols (in pre-order, with duplicates)