Agda-2.2.10: A dependently typed functional programming language and proof assistant
Agda.Compiler.Epic.ConstructorIrrelevancy
Description
Remove forced (irrelevant) arguments from constructors.
Synopsis
irrFilter :: Type -> IrrFilterSource
Check which arguments are forced and create an IrrFilter
constrIrr :: MonadTCM m => [Fun] -> Compile m [Fun]Source
Remove irrelevant arguments from constructors and branches
irrFun :: MonadTCM m => Fun -> Compile m FunSource
irrExpr :: MonadTCM m => Expr -> Compile m ExprSource
Remove all arguments to constructors that we don't need to store in an expression.
irrBranch :: MonadTCM m => Branch -> Compile m BranchSource
Remove all the arguments that doesn't need to be stored in the constructor For the branch