idris-0.99.1: Functional Programming Language with Dependent Types

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

Checks if the clause is a possible left hand side. NOTE: A lot of this is repeated for reflected definitions in Idris.Elab.Term One day, these should be merged, but until then remember that if you edit this you might need to edit the other version...

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