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

Safe HaskellSafe
LanguageHaskell2010

Agda.Utils.Haskell.Syntax

Contents

Description

ASTs for subset of GHC Haskell syntax.

Synopsis

Modules

data Module #

Instances
Pretty Module # 
Instance details

Defined in Agda.Compiler.MAlonzo.Pretty

Methods

pretty :: Module -> Doc #

prettyPrec :: Int -> Module -> Doc #

prettyList :: [Module] -> Doc #

data ModulePragma #

Constructors

LanguagePragma [Name] 
OtherPragma String

Unstructured pragma (Andreas, 2017-08-23, issue #2712).

data ImportSpec #

Constructors

IVar Name 
Instances
Pretty ImportSpec # 
Instance details

Defined in Agda.Compiler.MAlonzo.Pretty

Declarations

data Decl #

Instances
Eq Decl # 
Instance details

Defined in Agda.Utils.Haskell.Syntax

Methods

(==) :: Decl -> Decl -> Bool #

(/=) :: Decl -> Decl -> Bool #

Pretty Decl # 
Instance details

Defined in Agda.Compiler.MAlonzo.Pretty

Methods

pretty :: Decl -> Doc #

prettyPrec :: Int -> Decl -> Doc #

prettyList :: [Decl] -> Doc #

data DataOrNew #

Constructors

DataType 
NewType 
Instances
Eq DataOrNew # 
Instance details

Defined in Agda.Utils.Haskell.Syntax

Pretty DataOrNew # 
Instance details

Defined in Agda.Compiler.MAlonzo.Pretty

data ConDecl #

Constructors

ConDecl Name [(Maybe Strictness, Type)] 
Instances
Eq ConDecl # 
Instance details

Defined in Agda.Utils.Haskell.Syntax

Methods

(==) :: ConDecl -> ConDecl -> Bool #

(/=) :: ConDecl -> ConDecl -> Bool #

Pretty ConDecl # 
Instance details

Defined in Agda.Compiler.MAlonzo.Pretty

data Strictness #

Constructors

Lazy 
Strict 
Instances
Eq Strictness # 
Instance details

Defined in Agda.Utils.Haskell.Syntax

Pretty Strictness # 
Instance details

Defined in Agda.Compiler.MAlonzo.Pretty

type Deriving = (QName, [Type]) #

data Binds #

Constructors

BDecls [Decl] 
Instances
Eq Binds # 
Instance details

Defined in Agda.Utils.Haskell.Syntax

Methods

(==) :: Binds -> Binds -> Bool #

(/=) :: Binds -> Binds -> Bool #

Pretty Binds # 
Instance details

Defined in Agda.Compiler.MAlonzo.Pretty

Methods

pretty :: Binds -> Doc #

prettyPrec :: Int -> Binds -> Doc #

prettyList :: [Binds] -> Doc #

data Rhs #

Instances
Eq Rhs # 
Instance details

Defined in Agda.Utils.Haskell.Syntax

Methods

(==) :: Rhs -> Rhs -> Bool #

(/=) :: Rhs -> Rhs -> Bool #

data GuardedRhs #

Constructors

GuardedRhs [Stmt] Exp 
Instances
Eq GuardedRhs # 
Instance details

Defined in Agda.Utils.Haskell.Syntax

data Match #

Constructors

Match Name [Pat] Rhs (Maybe Binds) 
Instances
Eq Match # 
Instance details

Defined in Agda.Utils.Haskell.Syntax

Methods

(==) :: Match -> Match -> Bool #

(/=) :: Match -> Match -> Bool #

Pretty Match # 
Instance details

Defined in Agda.Compiler.MAlonzo.Pretty

Methods

pretty :: Match -> Doc #

prettyPrec :: Int -> Match -> Doc #

prettyList :: [Match] -> Doc #

Expressions

data Type #

Instances
Eq Type # 
Instance details

Defined in Agda.Utils.Haskell.Syntax

Methods

(==) :: Type -> Type -> Bool #

(/=) :: Type -> Type -> Bool #

Pretty Type # 
Instance details

Defined in Agda.Compiler.MAlonzo.Pretty

Methods

pretty :: Type -> Doc #

prettyPrec :: Int -> Type -> Doc #

prettyList :: [Type] -> Doc #

data Pat #

Instances
Eq Pat # 
Instance details

Defined in Agda.Utils.Haskell.Syntax

Methods

(==) :: Pat -> Pat -> Bool #

(/=) :: Pat -> Pat -> Bool #

Pretty Pat # 
Instance details

Defined in Agda.Compiler.MAlonzo.Pretty

Methods

pretty :: Pat -> Doc #

prettyPrec :: Int -> Pat -> Doc #

prettyList :: [Pat] -> Doc #

data Stmt #

Constructors

Qualifier Exp 
Generator Pat Exp 
Instances
Eq Stmt # 
Instance details

Defined in Agda.Utils.Haskell.Syntax

Methods

(==) :: Stmt -> Stmt -> Bool #

(/=) :: Stmt -> Stmt -> Bool #

Pretty Stmt # 
Instance details

Defined in Agda.Compiler.MAlonzo.Pretty

Methods

pretty :: Stmt -> Doc #

prettyPrec :: Int -> Stmt -> Doc #

prettyList :: [Stmt] -> Doc #

data Exp #

Instances
Eq Exp # 
Instance details

Defined in Agda.Utils.Haskell.Syntax

Methods

(==) :: Exp -> Exp -> Bool #

(/=) :: Exp -> Exp -> Bool #

Pretty Exp # 
Instance details

Defined in Agda.Compiler.MAlonzo.Pretty

Methods

pretty :: Exp -> Doc #

prettyPrec :: Int -> Exp -> Doc #

prettyList :: [Exp] -> Doc #

data Alt #

Constructors

Alt Pat Rhs (Maybe Binds) 
Instances
Eq Alt # 
Instance details

Defined in Agda.Utils.Haskell.Syntax

Methods

(==) :: Alt -> Alt -> Bool #

(/=) :: Alt -> Alt -> Bool #

Pretty Alt # 
Instance details

Defined in Agda.Compiler.MAlonzo.Pretty

Methods

pretty :: Alt -> Doc #

prettyPrec :: Int -> Alt -> Doc #

prettyList :: [Alt] -> Doc #

data Literal #

Instances
Eq Literal # 
Instance details

Defined in Agda.Utils.Haskell.Syntax

Methods

(==) :: Literal -> Literal -> Bool #

(/=) :: Literal -> Literal -> Bool #

Pretty Literal # 
Instance details

Defined in Agda.Compiler.MAlonzo.Pretty

Names

data QName #

Constructors

Qual ModuleName Name 
UnQual Name 
Instances
Eq QName # 
Instance details

Defined in Agda.Utils.Haskell.Syntax

Methods

(==) :: QName -> QName -> Bool #

(/=) :: QName -> QName -> Bool #

Pretty QName # 
Instance details

Defined in Agda.Compiler.MAlonzo.Pretty

Methods

pretty :: QName -> Doc #

prettyPrec :: Int -> QName -> Doc #

prettyList :: [QName] -> Doc #

data Name #

Constructors

Ident String 
Symbol String 
Instances
Eq Name # 
Instance details

Defined in Agda.Utils.Haskell.Syntax

Methods

(==) :: Name -> Name -> Bool #

(/=) :: Name -> Name -> Bool #

Pretty Name # 
Instance details

Defined in Agda.Compiler.MAlonzo.Pretty

Methods

pretty :: Name -> Doc #

prettyPrec :: Int -> Name -> Doc #

prettyList :: [Name] -> Doc #

data QOp #

Constructors

QVarOp QName 
Instances
Eq QOp # 
Instance details

Defined in Agda.Utils.Haskell.Syntax

Methods

(==) :: QOp -> QOp -> Bool #

(/=) :: QOp -> QOp -> Bool #

Pretty QOp # 
Instance details

Defined in Agda.Compiler.MAlonzo.Pretty

Methods

pretty :: QOp -> Doc #

prettyPrec :: Int -> QOp -> Doc #

prettyList :: [QOp] -> Doc #

data TyVarBind #

Constructors

UnkindedVar Name 
Instances
Eq TyVarBind # 
Instance details

Defined in Agda.Utils.Haskell.Syntax

Pretty TyVarBind # 
Instance details

Defined in Agda.Compiler.MAlonzo.Pretty