| Safe Haskell | Safe-Inferred |
|---|---|
| Language | Haskell2010 |
Agda.Utils.Haskell.Syntax
Description
ASTs for subset of GHC Haskell syntax.
Synopsis
- data Module = Module ModuleName [ModulePragma] [ImportDecl] [Decl]
- data ModulePragma
- data ImportDecl = ImportDecl {
- importModule :: ModuleName
- importQualified :: Bool
- importSpecs :: Maybe (Bool, [ImportSpec])
- data ImportSpec = IVar Name
- data Decl
- data DataOrNew
- data ConDecl = ConDecl Name [(Maybe Strictness, Type)]
- data Strictness
- type Deriving = (QName, [Type])
- data Binds = BDecls [Decl]
- data Rhs
- data GuardedRhs = GuardedRhs [Stmt] Exp
- data Match = Match Name [Pat] Rhs (Maybe Binds)
- data Type
- data Pat
- data Stmt
- data Exp
- data Alt = Alt Pat Rhs (Maybe Binds)
- data Literal
- data ModuleName = ModuleName String
- data QName
- = Qual ModuleName Name
- | UnQual Name
- data Name
- data QOp = QVarOp QName
- data TyVarBind = UnkindedVar Name
- unit_con :: Exp
Modules
Constructors
| Module ModuleName [ModulePragma] [ImportDecl] [Decl] |
Instances
data ModulePragma Source #
Constructors
| LanguagePragma [Name] | |
| OtherPragma String | Unstructured pragma (Andreas, 2017-08-23, issue #2712). |
Instances
| Pretty ModulePragma Source # | |
Defined in Agda.Compiler.MAlonzo.Pretty Methods pretty :: ModulePragma -> Doc Source # prettyPrec :: Int -> ModulePragma -> Doc Source # prettyList :: [ModulePragma] -> Doc Source # | |
data ImportDecl Source #
Constructors
| ImportDecl | |
Fields
| |
Instances
| Pretty ImportDecl Source # | |
Defined in Agda.Compiler.MAlonzo.Pretty Methods pretty :: ImportDecl -> Doc Source # prettyPrec :: Int -> ImportDecl -> Doc Source # prettyList :: [ImportDecl] -> Doc Source # | |
data ImportSpec Source #
Instances
| Pretty ImportSpec Source # | |
Defined in Agda.Compiler.MAlonzo.Pretty Methods pretty :: ImportSpec -> Doc Source # prettyPrec :: Int -> ImportSpec -> Doc Source # prettyList :: [ImportSpec] -> Doc Source # | |
Declarations
Constructors
| TypeDecl Name [TyVarBind] Type | |
| DataDecl DataOrNew Name [TyVarBind] [ConDecl] [Deriving] | |
| TypeSig [Name] Type | |
| FunBind [Match] | Should not be used when |
| LocalBind Strictness Name Rhs | Should only be used in |
| PatSyn Pat Pat | |
| FakeDecl String | |
| Comment String |
Constructors
| ConDecl Name [(Maybe Strictness, Type)] |
data Strictness Source #
Instances
| Pretty Strictness Source # | |
Defined in Agda.Compiler.MAlonzo.Pretty Methods pretty :: Strictness -> Doc Source # prettyPrec :: Int -> Strictness -> Doc Source # prettyList :: [Strictness] -> Doc Source # | |
| Eq Strictness Source # | |
Defined in Agda.Utils.Haskell.Syntax | |
Constructors
| UnGuardedRhs Exp | |
| GuardedRhss [GuardedRhs] |
data GuardedRhs Source #
Constructors
| GuardedRhs [Stmt] Exp |
Instances
| MakeStrict GuardedRhs Source # | |
Defined in Agda.Compiler.MAlonzo.Strict Methods makeStrict :: GuardedRhs -> GuardedRhs Source # | |
| Eq GuardedRhs Source # | |
Defined in Agda.Utils.Haskell.Syntax | |
Expressions
Constructors
| TyForall [TyVarBind] Type | |
| TyFun Type Type | |
| TyCon QName | |
| TyVar Name | |
| TyApp Type Type | |
| FakeType String |
Instances
Constructors
| PVar Name | |
| PLit Literal | |
| PAsPat Name Pat | |
| PWildCard | |
| PBangPat Pat | |
| PApp QName [Pat] | |
| PatTypeSig Pat Type | |
| PIrrPat Pat |
Constructors
| Var QName | |
| Con QName | |
| Lit Literal | |
| InfixApp Exp QOp Exp | |
| Ann Exp Type | |
| App Exp Exp | |
| Lambda [Pat] Exp | |
| Let Binds Exp | |
| If Exp Exp Exp | |
| Case Exp [Alt] | |
| ExpTypeSig Exp Type | |
| NegApp Exp | |
| FakeExp String |
Names
data ModuleName Source #
Constructors
| ModuleName String |
Instances
| Pretty ModuleName Source # | |
Defined in Agda.Compiler.MAlonzo.Pretty Methods pretty :: ModuleName -> Doc Source # prettyPrec :: Int -> ModuleName -> Doc Source # prettyList :: [ModuleName] -> Doc Source # | |
| Eq ModuleName Source # | |
Defined in Agda.Utils.Haskell.Syntax | |
| Ord ModuleName Source # | |
Defined in Agda.Utils.Haskell.Syntax 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 # | |