idris-0.9.12: Functional Programming Language with Dependent Types

Safe HaskellNone

Idris.ElabDecls

Synopsis

Documentation

elabType :: ElabInfo -> SyntaxInfo -> Docstring -> [(Name, Docstring)] -> FC -> FnOpts -> Name -> PTerm -> Idris TypeSource

Elaborate a top-level type declaration - for example, foo : Int -> Int.

elabPrims :: Idris ()Source

Elaborate primitives

elabProvider :: ElabInfo -> SyntaxInfo -> FC -> ProvideWhat -> Name -> PTerm -> PTerm -> Idris ()Source

Elaborate a type provider

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

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

paramNames :: Eq a => [TT a] -> [a] -> [Int] -> [a]Source

data MArgTy Source

Constructors

IA 
EA 
CA 

Instances

elabClass :: ElabInfo -> SyntaxInfo -> Docstring -> FC -> [PTerm] -> Name -> [(Name, PTerm)] -> [PDecl] -> Idris ()Source

pbty :: TT n -> TT n -> TT nSource

getPBtys :: TT t -> [(t, TT t)]Source

psolve :: TT t -> StateT (ElabState aux) TC ()Source

data ElabWhat Source

Constructors

ETypes 
EDefns 
EAll 

Instances

checkDocs :: FC -> [(Name, Docstring)] -> PTerm -> Idris ()Source

Check a PTerm against documentation and ensure that every documented argument actually exists. This must be run _after_ implicits have been found, or it will give spurious errors.