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

Safe Haskell | Safe
Language | Haskell2010

Agda.Utils.Haskell.Syntax

# Documentation

data Module #

Constructors

Module ModuleName [ModulePragma] [ImportDecl] [Decl] |

data ModulePragma #

Constructors

LanguagePragma [Name] |

data ImportDecl #

Constructors

ImportDecl |
Fields importModule :: ModuleName importQualified :: Bool importSpecs :: Maybe (Bool, [ImportSpec])

data ImportSpec #

Constructors

IVar Name |

data Decl #

Constructors

TypeDecl Name [TyVarBind] Type |
DataDecl DataOrNew Name [TyVarBind] [ConDecl] [Deriving] |
TypeSig [Name] Type |
FunBind [Match] |
FakeDecl String |

Instances

Eq Decl # |
Methods (==) :: Decl -> Decl -> Bool # (/=) :: Decl -> Decl -> Bool #

data DataOrNew #

Constructors

DataType |
NewType |

Instances

Eq DataOrNew # |
Methods (==) :: DataOrNew -> DataOrNew -> Bool # (/=) :: DataOrNew -> DataOrNew -> Bool #

data ConDecl #

Constructors

ConDecl Name [Type] |

Instances

Eq ConDecl # |
Methods (==) :: ConDecl -> ConDecl -> Bool # (/=) :: ConDecl -> ConDecl -> Bool #

type Deriving = (QName, [Type]) #

data Binds #

Constructors

BDecls [Decl] |

Instances

Eq Binds # |
Methods (==) :: Binds -> Binds -> Bool # (/=) :: Binds -> Binds -> Bool #

data Rhs #

Constructors

UnGuardedRhs Exp |
GuardedRhss [GuardedRhs] |

Instances

Eq Rhs # |
Methods (==) :: Rhs -> Rhs -> Bool # (/=) :: Rhs -> Rhs -> Bool #

data GuardedRhs #

Constructors

GuardedRhs [Stmt] Exp |

Instances

Eq GuardedRhs # |
Methods (==) :: GuardedRhs -> GuardedRhs -> Bool # (/=) :: GuardedRhs -> GuardedRhs -> Bool #

data Match #

Constructors

Match Name [Pat] Rhs (Maybe Binds) |

Instances

Eq Match # |
Methods (==) :: Match -> Match -> Bool # (/=) :: Match -> Match -> Bool #

data Type #

Constructors

TyForall [TyVarBind] Type |
TyFun Type Type |
TyCon QName |
TyVar Name |
TyApp Type Type |
FakeType String |

Instances

Eq Type # |
Methods (==) :: Type -> Type -> Bool # (/=) :: Type -> Type -> Bool #

data Pat #

Constructors

PVar Name |
PLit Literal |
PAsPat Name Pat |
PWildCard |
PBangPat Pat |
PApp QName [Pat] |
PatTypeSig Pat Type |
PIrrPat Pat |

Instances

Eq Pat # |
Methods (==) :: Pat -> Pat -> Bool # (/=) :: Pat -> Pat -> Bool #

data Stmt #

Constructors

Qualifier Exp |
Generator Pat Exp |

Instances

Eq Stmt # |
Methods (==) :: Stmt -> Stmt -> Bool # (/=) :: Stmt -> Stmt -> Bool #

data Exp #

Constructors

Var QName |
Con QName |
Lit Literal |
InfixApp Exp QOp Exp |
App Exp Exp |
Lambda [Pat] Exp |
Let Binds Exp |
If Exp Exp Exp |
Case Exp [Alt] |
ExpTypeSig Exp Type |
NegApp Exp |
FakeExp String |

Instances

Eq Exp # |
Methods (==) :: Exp -> Exp -> Bool # (/=) :: Exp -> Exp -> Bool #

data Alt #

Constructors

Alt Pat Rhs (Maybe Binds) |

Instances

Eq Alt # |
Methods (==) :: Alt -> Alt -> Bool # (/=) :: Alt -> Alt -> Bool #

data Literal #

Constructors

Int Integer |
Frac Rational |
Char Char |
String String |

Instances

Eq Literal # |
Methods (==) :: Literal -> Literal -> Bool # (/=) :: Literal -> Literal -> Bool #

data ModuleName #

Constructors

ModuleName String |

Instances

Eq ModuleName # |
Methods (==) :: ModuleName -> ModuleName -> Bool # (/=) :: ModuleName -> ModuleName -> Bool #
Ord ModuleName # |
Methods compare :: ModuleName -> ModuleName -> Ordering # (<) :: ModuleName -> ModuleName -> Bool # (<=) :: ModuleName -> ModuleName -> Bool # (>) :: ModuleName -> ModuleName -> Bool # (>=) :: ModuleName -> ModuleName -> Bool # max :: ModuleName -> ModuleName -> ModuleName # min :: ModuleName -> ModuleName -> ModuleName #

data QName #

Constructors

Qual ModuleName Name |
UnQual Name |

Instances

Eq QName # |
Methods (==) :: QName -> QName -> Bool # (/=) :: QName -> QName -> Bool #

data Name #

Constructors

Ident String |
Symbol String |

Instances

Eq Name # |
Methods (==) :: Name -> Name -> Bool # (/=) :: Name -> Name -> Bool #

data QOp #

Constructors

QVarOp QName |

Instances

Eq QOp # |
Methods (==) :: QOp -> QOp -> Bool # (/=) :: QOp -> QOp -> Bool #

data TyVarBind #

Constructors

UnkindedVar Name |

Instances

Eq TyVarBind # |
Methods (==) :: TyVarBind -> TyVarBind -> Bool # (/=) :: TyVarBind -> TyVarBind -> Bool #

unit_con :: Exp #