Agda
Safe HaskellNone
LanguageHaskell2010

Agda.TypeChecking.CheckInternal

Description

A bidirectional type checker for internal syntax.

Performs checking on unreduced terms. With the exception that projection-like function applications have to be reduced since they break bidirectionality.

Synopsis

Documentation

checkType :: Type -> TCM () Source #

Entry point for e.g. checking WithFunctionType.

infer :: Term -> TCM Type Source #

Infer type of a neutral term.

inferSpine :: Action -> Type -> (Elims -> Term) -> Elims -> TCM (Type, Elims) Source #

inferSpine action t hd es checks that spine es eliminates value hd [] of type t and returns the remaining type (target of elimination) and the transformed eliminations.

class CheckInternal a where Source #

Minimal complete definition

checkInternal'

Instances

Instances details
CheckInternal Elims Source # 
Instance details

Defined in Agda.TypeChecking.CheckInternal

CheckInternal Level Source # 
Instance details

Defined in Agda.TypeChecking.CheckInternal

CheckInternal PlusLevel Source # 
Instance details

Defined in Agda.TypeChecking.CheckInternal

CheckInternal Sort Source # 
Instance details

Defined in Agda.TypeChecking.CheckInternal

CheckInternal Term Source # 
Instance details

Defined in Agda.TypeChecking.CheckInternal

CheckInternal Type Source # 
Instance details

Defined in Agda.TypeChecking.CheckInternal

data Action Source #

checkInternal traverses the whole Term, and we can use this traversal to modify the term.

Constructors

Action 

Fields

defaultAction :: Action Source #

The default action is to not change the Term at all.