Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Documentation
pattern TAbs :: Var v => v -> Term f v -> Term f v | |
pattern TTm :: (Var v, Bifoldable f) => f v (Term f v) -> Term f v | |
pattern TAbss :: Var v => [v] -> Term f v -> Term f v |
class (Bifoldable f, Bifunctor f) => Align f where Source #
align :: Applicative g => (vl -> vr -> g vs) -> (el -> er -> g es) -> f vl el -> f vr er -> Maybe (g (f vs es)) Source #
alpha :: Align f => Var v => Map v v -> Term f v -> Term f v -> Either (Term f v, Term f v) () Source #
transform :: (Var v, Bifunctor g, Bifoldable f, Bifoldable g) => (forall a b. f a b -> g a b) -> Term f v -> Term g v Source #
visit :: (Applicative g, Bifoldable f, Traversable (f v), Var v) => (Term f v -> Maybe (g (Term f v))) -> Term f v -> g (Term f v) Source #