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

Safe HaskellNone
LanguageHaskell98

Agda.Syntax.Abstract.Views

Contents

Synopsis

Documentation

appView :: Expr -> AppView Source

Gather applications to expose head and spine.

Note: everything is an application, possibly of itself to 0 arguments

asView :: Pattern -> ([Name], Pattern) Source

Gather top-level AsPatterns to expose underlying pattern.

isSet :: Expr -> Bool Source

Check whether we are dealing with a universe.

unScope :: Expr -> Expr Source

Remove top ScopedExpr wrappers.

deepUnScope :: Expr -> Expr Source

Remove ScopedExpr wrappers everywhere.

Traversal

class ExprLike a where Source

Apply an expression rewriting to every subexpression, inside-out. See Agda.Syntax.Internal.Generic.

Minimal complete definition

foldExpr, traverseExpr

Methods

foldExpr :: Monoid m => (Expr -> m) -> a -> m Source

traverseExpr :: (Monad m, Applicative m) => (Expr -> m Expr) -> a -> m a Source

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

Instances

ExprLike TypedBinding Source 
ExprLike TypedBindings Source 
ExprLike LamBinding Source 
ExprLike LetBinding Source 
ExprLike Expr Source 
ExprLike a => ExprLike [a] Source 
ExprLike (Pattern' a) Source

TODO: currently does not go into patterns.

ExprLike (Clause' a) Source

TODO: currently does not go into clauses.

ExprLike a => ExprLike (x, a) Source 
ExprLike a => ExprLike (Named x a) Source 
ExprLike a => ExprLike (Arg c a) Source

TODO: currently does not go into colors.