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 #
renames :: (Var v, Ord v, Bifunctor f, Bifoldable f) => Map v Int -> Map v v -> 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 #