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

Safe Haskell | None
Language | Haskell2010

Agda.Syntax.Reflected

# Documentation

type Args = [Arg Term] #

data Elim' a #

Constructors

Apply (Arg a) |

Instances

Unquote Elim # |
Methods unquote :: Term -> UnquoteM Elim #
Show a => Show (Elim' a) # |
Methods showsPrec :: Int -> Elim' a -> ShowS # show :: Elim' a -> String # showList :: [Elim' a] -> ShowS #
ToAbstract (Expr, Elims) Expr # |
Methods toAbstract :: (Expr, Elims) -> WithNames Expr #
ToAbstract (Expr, Elim) Expr # |
Methods toAbstract :: (Expr, Elim) -> WithNames Expr #

type Elim = Elim' Term #

type Elims = [Elim] #

argsToElims :: Args -> Elims #

data Abs a #

Constructors

Abs String a |

Instances

Show a => Show (Abs a) # |
Methods showsPrec :: Int -> Abs a -> ShowS # show :: Abs a -> String # showList :: [Abs a] -> ShowS #
Unquote a => Unquote (Abs a) # |
Methods unquote :: Term -> UnquoteM (Abs a) #
ToAbstract r a => ToAbstract (Abs r) (a, Name) # |
Methods toAbstract :: Abs r -> WithNames (a, Name) #

data Term #

Constructors

Var Int Elims |
Con QName Elims |
Def QName Elims |
Meta MetaId Elims |
Lam Hiding (Abs Term) |
ExtLam [Clause] Elims |
Pi (Dom Type) (Abs Type) |
Sort Sort |
Lit Literal |
Unknown |

Instances

Show Term # |
Methods showsPrec :: Int -> Term -> ShowS # show :: Term -> String # showList :: [Term] -> ShowS #
PrettyTCM Term # |
Methods prettyTCM :: Term -> TCM Doc #
Unquote Term # |
Methods unquote :: Term -> UnquoteM Term #
Unquote Elim # |
Methods unquote :: Term -> UnquoteM Elim #
ToAbstract Term Expr # |
Methods toAbstract :: Term -> WithNames Expr #
ToAbstract [Arg Term] [NamedArg Expr] # |
Methods toAbstract :: [Arg Term] -> WithNames [NamedArg Expr] #
ToAbstract (Expr, Elims) Expr # |
Methods toAbstract :: (Expr, Elims) -> WithNames Expr #
ToAbstract (Expr, Elim) Expr # |
Methods toAbstract :: (Expr, Elim) -> WithNames Expr #

type Type = Term #

data Sort #

Constructors

SetS Term |
LitS Integer |
UnknownS |

Instances

Show Sort # |
Methods showsPrec :: Int -> Sort -> ShowS # show :: Sort -> String # showList :: [Sort] -> ShowS #
Unquote Sort # |
Methods unquote :: Term -> UnquoteM Sort #
ToAbstract Sort Expr # |
Methods toAbstract :: Sort -> WithNames Expr #

data Pattern #

Constructors

ConP QName [Arg Pattern] |
DotP |
VarP String |
LitP Literal |
AbsurdP |
ProjP QName |

Instances

Show Pattern # |
Methods showsPrec :: Int -> Pattern -> ShowS # show :: Pattern -> String # showList :: [Pattern] -> ShowS #
Unquote Pattern # |
Methods unquote :: Term -> UnquoteM Pattern #
ToAbstract Pattern (Names, Pattern) # |
Methods toAbstract :: Pattern -> WithNames (Names, Pattern) #

data Clause #

Constructors

Clause [Arg Pattern] Term |
AbsurdClause [Arg Pattern] |

Instances

Show Clause # |
Methods showsPrec :: Int -> Clause -> ShowS # show :: Clause -> String # showList :: [Clause] -> ShowS #
Unquote Clause # |
Methods unquote :: Term -> UnquoteM Clause #
ToAbstract (QNamed Clause) Clause # |
Methods toAbstract :: QNamed Clause -> WithNames Clause #
ToAbstract [QNamed Clause] [Clause] # |
Methods toAbstract :: [QNamed Clause] -> WithNames [Clause] #

data Definition #

Constructors

FunDef Type [Clause] |
DataDef |
RecordDef |
DataConstructor |
Axiom |
Primitive |

Instances

Show Definition # |
Methods showsPrec :: Int -> Definition -> ShowS # show :: Definition -> String # showList :: [Definition] -> ShowS #