idris-0.12.2: Functional Programming Language with Dependent Types

CopyrightLicense : BSD3
MaintainerThe Idris Community.
Safe HaskellNone
LanguageHaskell98

Idris.Elab.Clause

Description

 

Synopsis

Documentation

elabClauses :: ElabInfo -> FC -> FnOpts -> Name -> [PClause] -> Idris () Source #

Elaborate a collection of left-hand and right-hand pairs - that is, a top-level definition.

elabPE :: ElabInfo -> FC -> Name -> Term -> Idris [(Term, Term)] Source #

Find static applications in a term and partially evaluate them. Return any new transformation rules

checkPossible :: ElabInfo -> FC -> Bool -> Name -> PTerm -> Idris Bool Source #

Checks if the clause is a possible left hand side.

elabClause :: ElabInfo -> FnOpts -> (Int, PClause) -> Idris (Either Term (Term, Term), PTerm) Source #

Return the elaborated LHS/RHS, and the original LHS with implicits added

mapRHS :: (PTerm -> PTerm) -> PClause -> PClause Source #

Apply a transformation to all RHSes and nested RHSs