| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Agda.Syntax.Concrete.Generic
Contents
Description
Generic traversal and reduce for concrete syntax, in the style of Agda.Syntax.Internal.Generic.
However, here we use the terminology of Traversable.
- class ExprLike a where
Documentation
class ExprLike a where Source #
Generic traversals for concrete expressions.
Note: does not go into patterns!
Minimal complete definition
Methods
mapExpr :: (Expr -> Expr) -> a -> a Source #
This corresponds to map.
traverseExpr :: Monad m => (Expr -> m Expr) -> a -> m a Source #
This corresponds to mapM.
foldExpr :: Monoid m => (Expr -> m) -> a -> m Source #
This is a reduce.
Instances
| ExprLike Bool Source # | |
| ExprLike QName Source # | |
| ExprLike Name Source # | |
| ExprLike ModuleApplication Source # | |
| ExprLike Declaration Source # | |
| ExprLike LHS Source # | |
| ExprLike TypedBindings Source # | |
| ExprLike LamBinding Source # | |
| ExprLike Expr Source # | |
| ExprLike ModuleAssignment Source # | |
| ExprLike FieldAssignment Source # | |
| ExprLike a => ExprLike [a] Source # | |
| ExprLike a => ExprLike (Maybe a) Source # | |
| ExprLike a => ExprLike (MaybePlaceholder a) Source # | |
| ExprLike a => ExprLike (Arg a) Source # | |
| ExprLike a => ExprLike (WhereClause' a) Source # | |
| ExprLike a => ExprLike (RHS' a) Source # | |
| ExprLike a => ExprLike (TypedBinding' a) Source # | |
| ExprLike a => ExprLike (OpApp a) Source # | |
| (ExprLike a, ExprLike b) => ExprLike (Either a b) Source # | |
| (ExprLike a, ExprLike b) => ExprLike (a, b) Source # | |
| ExprLike a => ExprLike (Named name a) Source # | |
| (ExprLike a, ExprLike b, ExprLike c) => ExprLike (a, b, c) Source # | |
| (ExprLike a, ExprLike b, ExprLike c, ExprLike d) => ExprLike (a, b, c, d) Source # | |