Module Curry.Types

An implementation of the Curry AST from curry-frontend.

Description
AST for curry code
Author
Kai-Oliver Prott
Version
November 2024

Exported Datatypes


data Module a

This datatype is copied from curry-base.

Constructors:

Known instances:


data ModulePragma

Constructors:

Known instances:


data ExportSpec

Constructors:

Known instances:


data Export

Constructors:

Known instances:


data ImportDecl

Constructors:

Known instances:


type Qualified = Bool
data ImportSpec

Constructors:

Known instances:


data Import

Constructors:

Known instances:


data Decl a

Constructors:

Known instances:


type Precedence = Int
data Infix

Constructors:

  • InfixL :: Infix
  • InfixR :: Infix
  • Infix :: Infix

Known instances:


data ConstrDecl

Constructors:

Known instances:


data NewConstrDecl

Constructors:

Known instances:


data FieldDecl

Constructors:

Known instances:


data TypeExpr

Constructors:

Known instances:


data QualTypeExpr

Constructors:

Known instances:


type Context = [Constraint]
data Constraint

Constructors:

Known instances:


type InstanceType = TypeExpr
data FunDep

Constructors:

Known instances:


data Equation a

Constructors:

Known instances:


data Lhs a

Constructors:

Known instances:


data Rhs a

Constructors:

Known instances:


data CondExpr a

Constructors:

Known instances:


data Literal

Constructors:

  • Char :: Char -> Literal
  • Int :: Int -> Literal
  • Float :: Float -> Literal
  • String :: String -> Literal

Known instances:


data Pattern a

Constructors:

Known instances:


data Expression a

Constructors:

Known instances:


data InfixOp a

Constructors:

Known instances:


data Statement a

Constructors:

Known instances:


data CaseType

Constructors:

  • Rigid :: CaseType
  • Flex :: CaseType

Known instances:


data Alt a

Constructors:

Known instances:


data Field a

Constructors:

Known instances:


data Var a

Constructors:

  • Var :: a -> Ident -> Var a

Known instances:


data Goal a

Constructors:

Known instances:


data Extension

Constructors:

Known instances:


data KnownExtension

Constructors:

  • AnonFreeVars :: KnownExtension anonymous free variables
  • CPP :: KnownExtension C preprocessor
  • FlexibleContexts :: KnownExtension no restrictions on context form
  • FlexibleInstances :: KnownExtension no restrictions on instance syntax
  • FunctionalDependencies :: KnownExtension functional dependencies
  • FunctionalPatterns :: KnownExtension functional patterns
  • MultiParamTypeClasses :: KnownExtension multi-parameter type classes
  • NegativeLiterals :: KnownExtension negative literals
  • NoAnonFreeVars :: KnownExtension no anonymous free variables
  • NoFunctionalPatterns :: KnownExtension no functional patterns
  • NoImplicitPrelude :: KnownExtension no implicit import of the prelude
  • NoDataDeriving :: KnownExtension no implicit deriving of the Data class

Known instances:


data KnownTool

Constructors:

  • KICS2 :: KnownTool
  • PAKCS :: KnownTool
  • CYMAKE :: KnownTool
  • FRONTEND :: KnownTool

Known instances:


data Tool

Constructors:

Known instances: