Safe Haskell | None |
---|---|
Language | Haskell2010 |
ASTs for subset of GHC Haskell syntax.
Synopsis
- data Module = Module ModuleName [ModulePragma] [ImportDecl] [Decl]
- data ModulePragma
- = LanguagePragma [Name]
- | OtherPragma String
- 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
Instances
MakeStrict Module Source # | |
Defined in Agda.Compiler.MAlonzo.Strict makeStrict :: Module -> Module Source # | |
Pretty Module Source # | |
data ModulePragma Source #
LanguagePragma [Name] | |
OtherPragma String | Unstructured pragma (Andreas, 2017-08-23, issue #2712). |
Instances
Pretty ModulePragma Source # | |
Defined in Agda.Compiler.MAlonzo.Pretty pretty :: ModulePragma -> Doc Source # prettyPrec :: Int -> ModulePragma -> Doc Source # prettyList :: [ModulePragma] -> Doc Source # |
data ImportDecl Source #
ImportDecl | |
|
Instances
Pretty ImportDecl Source # | |
Defined in Agda.Compiler.MAlonzo.Pretty 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 pretty :: ImportSpec -> Doc Source # prettyPrec :: Int -> ImportSpec -> Doc Source # prettyList :: [ImportSpec] -> Doc Source # |
Declarations
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 |
data Strictness Source #
Instances
Pretty Strictness Source # | |
Defined in Agda.Compiler.MAlonzo.Pretty pretty :: Strictness -> Doc Source # prettyPrec :: Int -> Strictness -> Doc Source # prettyList :: [Strictness] -> Doc Source # | |
Eq Strictness Source # | |
Defined in Agda.Utils.Haskell.Syntax (==) :: Strictness -> Strictness -> Bool (/=) :: Strictness -> Strictness -> Bool |
Instances
MakeStrict Rhs Source # | |
Defined in Agda.Compiler.MAlonzo.Strict makeStrict :: Rhs -> Rhs Source # | |
Eq Rhs Source # | |
data GuardedRhs Source #
Instances
MakeStrict GuardedRhs Source # | |
Defined in Agda.Compiler.MAlonzo.Strict makeStrict :: GuardedRhs -> GuardedRhs Source # | |
Eq GuardedRhs Source # | |
Defined in Agda.Utils.Haskell.Syntax (==) :: GuardedRhs -> GuardedRhs -> Bool (/=) :: GuardedRhs -> GuardedRhs -> Bool |
Expressions
PVar Name | |
PLit Literal | |
PAsPat Name Pat | |
PWildCard | |
PBangPat Pat | |
PApp QName [Pat] | |
PatTypeSig Pat Type | |
PIrrPat Pat |
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 #
ModuleName String |
Instances
Pretty ModuleName Source # | |
Defined in Agda.Compiler.MAlonzo.Pretty pretty :: ModuleName -> Doc Source # prettyPrec :: Int -> ModuleName -> Doc Source # prettyList :: [ModuleName] -> Doc Source # | |
Eq ModuleName Source # | |
Defined in Agda.Utils.Haskell.Syntax (==) :: ModuleName -> ModuleName -> Bool (/=) :: ModuleName -> ModuleName -> Bool | |
Ord ModuleName Source # | |
Defined in Agda.Utils.Haskell.Syntax compare :: ModuleName -> ModuleName -> Ordering (<) :: ModuleName -> ModuleName -> Bool (<=) :: ModuleName -> ModuleName -> Bool (>) :: ModuleName -> ModuleName -> Bool (>=) :: ModuleName -> ModuleName -> Bool max :: ModuleName -> ModuleName -> ModuleName min :: ModuleName -> ModuleName -> ModuleName |