Agda-2.4.2.3: A dependently typed functional programming language and proof assistant

Safe HaskellNone
LanguageHaskell98

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.

Synopsis

Documentation

class ExprLike a where Source

Generic traversals for concrete expressions.

Note: does not go into patterns!

Minimal complete definition

mapExpr

Methods

mapExpr :: (Expr -> Expr) -> a -> a Source

This corresponds to map.

traverseExpr :: (Monad m, Applicative 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 for things that do not contain expressions.

Instances for functors.

Interesting instances