Safe Haskell | None |
---|---|
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] |
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] | |
PatSyn Pat Pat | |
FakeDecl String |
Instances
Constructors
ConDecl Name [(Maybe Strictness, Type)] |
data Strictness Source #
Instances
Eq Strictness Source # | |
Defined in Agda.Utils.Haskell.Syntax | |
Pretty Strictness Source # | |
Defined in Agda.Compiler.MAlonzo.Pretty Methods pretty :: Strictness -> Doc Source # prettyPrec :: Int -> Strictness -> Doc Source # prettyList :: [Strictness] -> Doc Source # |
Constructors
UnGuardedRhs Exp | |
GuardedRhss [GuardedRhs] |
data GuardedRhs Source #
Constructors
GuardedRhs [Stmt] Exp |
Instances
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
Instances
Names
data ModuleName Source #
Constructors
ModuleName String |
Instances
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 # | |
Pretty ModuleName Source # | |
Defined in Agda.Compiler.MAlonzo.Pretty Methods pretty :: ModuleName -> Doc Source # prettyPrec :: Int -> ModuleName -> Doc Source # prettyList :: [ModuleName] -> Doc Source # |