Safe Haskell | Safe |
---|---|
Language | Haskell98 |
Synopsis
- data Term v s
- vmap :: (v -> u) -> Term v s -> Term u s
- type Position = [Int]
- positions :: Term v c -> [(Position, Term v c)]
- size :: Term v c -> Int
- depth :: Term v c -> Int
- pos :: Term v c -> [Position]
- sympos :: Term v c -> [Position]
- varpos :: Term v c -> [Position]
- leafpos :: Term v c -> [Position]
- subterms :: Term v c -> [Term v c]
- strict_subterms :: Term v c -> [Term v c]
- isSubtermOf :: (Eq v, Eq c) => Term v c -> Term v c -> Bool
- isStrictSubtermOf :: (Eq v, Eq c) => Term v c -> Term v c -> Bool
- pmap :: (Position -> c -> d) -> Term v c -> Term v d
- rpmap :: (Position -> c -> d) -> Term v c -> Term v d
- peek :: Term v c -> Position -> Term v c
- peek_symbol :: Term v c -> Position -> c
- poke_symbol :: Term v c -> (Position, c) -> Term v c
- poke :: Term v c -> (Position, Term v c) -> Term v c
- pokes :: Term v c -> [(Position, Term v c)] -> Term v c
- symsl :: Term v c -> [c]
- syms :: Ord c => Term v c -> Set c
- lsyms :: Ord c => Term v c -> [c]
- vars :: Ord v => Term v c -> Set v
- isvar :: Term v c -> Bool
- lvars :: Ord v => Term v c -> [v]
- voccs :: Term v c -> [v]
Documentation
Instances
strict_subterms :: Term v c -> [Term v c] Source #
pmap :: (Position -> c -> d) -> Term v c -> Term v d Source #
compute new symbol at position, giving the position
rpmap :: (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)
peek_symbol :: Term v c -> Position -> c Source #