Agda-2.4.0: A dependently typed functional programming language and proof assistant

Safe HaskellNone

Agda.TypeChecking.Primitive

Contents

Description

Primitive functions, such as addition on builtin integers.

Synopsis

Primitive functions

newtype Str Source

Constructors

Str 

Fields

unStr :: String
 

newtype Nat Source

Constructors

Nat 

Fields

unNat :: Integer
 

newtype Lvl Source

Constructors

Lvl 

Fields

unLvl :: Integer
 

class PrimType a whereSource

Methods

primType :: a -> TCM TypeSource

Instances

buildList :: TCM ([Term] -> Term)Source

buildList A ts builds a list of type List A. Assumes that the terms ts all have type A.

redBind :: ReduceM (Reduced a a') -> (a -> b) -> (a' -> ReduceM (Reduced b b')) -> ReduceM (Reduced b b')Source

Conceptually: redBind m f k = either (return . Left . f) k =<< m

mkPrimFun4 :: (PrimType a, FromTerm a, ToTerm a, PrimType b, FromTerm b, ToTerm b, PrimType c, FromTerm c, ToTerm c, PrimType d, FromTerm d, PrimType e, ToTerm e) => (a -> b -> c -> d -> e) -> TCM PrimitiveImplSource

argN :: e -> Arg c eSource

Abbreviation: argN = Arg defaultArgInfo.

domN :: e -> Dom c eSource

argH :: e -> Arg c eSource

Abbreviation: argH = hide Arg defaultArgInfo.

domH :: e -> Dom c eSource

The actual primitive functions

type Op a = a -> a -> aSource

type Fun a = a -> aSource

type Rel a = a -> a -> BoolSource

type Pred a = a -> BoolSource