Copyright | (c) 1999 - 2004 Wolfgang Lux 2005 Martin Engelke 2011 - 2015 Björn Peemöller 2014 Jan Rasmus Tikovsky 2016 Finn Teegen |
---|---|
License | BSD-3-clause |
Maintainer | bjp@informatik.uni-kiel.de |
Stability | experimental |
Portability | portable |
Safe Haskell | Safe |
Language | Haskell2010 |
Curry.Syntax.Type
Description
This module provides the necessary data structures to maintain the parsed representation of a Curry program.
Synopsis
- data Module a = Module SpanInfo LayoutInfo [ModulePragma] ModuleIdent (Maybe ExportSpec) [ImportDecl] [Decl a]
- data ModulePragma
- data Extension
- data KnownExtension
- data Tool
- data ExportSpec = Exporting SpanInfo [Export]
- data Export
- data ImportDecl = ImportDecl SpanInfo ModuleIdent Qualified (Maybe ModuleIdent) (Maybe ImportSpec)
- data ImportSpec
- data Import
- type Qualified = Bool
- data Interface = Interface ModuleIdent [IImportDecl] [IDecl]
- data IImportDecl = IImportDecl Position ModuleIdent
- type Arity = Int
- data IDecl
- = IInfixDecl Position Infix Precedence QualIdent
- | HidingDataDecl Position QualIdent (Maybe KindExpr) [Ident]
- | IDataDecl Position QualIdent (Maybe KindExpr) [Ident] [ConstrDecl] [Ident]
- | INewtypeDecl Position QualIdent (Maybe KindExpr) [Ident] NewConstrDecl [Ident]
- | ITypeDecl Position QualIdent (Maybe KindExpr) [Ident] TypeExpr
- | IFunctionDecl Position QualIdent (Maybe Ident) Arity QualTypeExpr
- | HidingClassDecl Position Context QualIdent (Maybe KindExpr) Ident
- | IClassDecl Position Context QualIdent (Maybe KindExpr) Ident [IMethodDecl] [Ident]
- | IInstanceDecl Position Context QualIdent InstanceType [IMethodImpl] (Maybe ModuleIdent)
- data KindExpr
- data IMethodDecl = IMethodDecl Position Ident (Maybe Arity) QualTypeExpr
- type IMethodImpl = (Ident, Arity)
- data Decl a
- = InfixDecl SpanInfo Infix (Maybe Precedence) [Ident]
- | DataDecl SpanInfo Ident [Ident] [ConstrDecl] [QualIdent]
- | ExternalDataDecl SpanInfo Ident [Ident]
- | NewtypeDecl SpanInfo Ident [Ident] NewConstrDecl [QualIdent]
- | TypeDecl SpanInfo Ident [Ident] TypeExpr
- | TypeSig SpanInfo [Ident] QualTypeExpr
- | FunctionDecl SpanInfo a Ident [Equation a]
- | ExternalDecl SpanInfo [Var a]
- | PatternDecl SpanInfo (Pattern a) (Rhs a)
- | FreeDecl SpanInfo [Var a]
- | DefaultDecl SpanInfo [TypeExpr]
- | ClassDecl SpanInfo LayoutInfo Context Ident Ident [Decl a]
- | InstanceDecl SpanInfo LayoutInfo Context QualIdent InstanceType [Decl a]
- type Precedence = Integer
- data Infix
- data ConstrDecl
- data NewConstrDecl
- data FieldDecl = FieldDecl SpanInfo [Ident] TypeExpr
- data TypeExpr
- data QualTypeExpr = QualTypeExpr SpanInfo Context TypeExpr
- data Equation a = Equation SpanInfo (Lhs a) (Rhs a)
- data Lhs a
- data Rhs a
- = SimpleRhs SpanInfo LayoutInfo (Expression a) [Decl a]
- | GuardedRhs SpanInfo LayoutInfo [CondExpr a] [Decl a]
- data CondExpr a = CondExpr SpanInfo (Expression a) (Expression a)
- data Literal
- data Pattern a
- = LiteralPattern SpanInfo a Literal
- | NegativePattern SpanInfo a Literal
- | VariablePattern SpanInfo a Ident
- | ConstructorPattern SpanInfo a QualIdent [Pattern a]
- | InfixPattern SpanInfo a (Pattern a) QualIdent (Pattern a)
- | ParenPattern SpanInfo (Pattern a)
- | RecordPattern SpanInfo a QualIdent [Field (Pattern a)]
- | TuplePattern SpanInfo [Pattern a]
- | ListPattern SpanInfo a [Pattern a]
- | AsPattern SpanInfo Ident (Pattern a)
- | LazyPattern SpanInfo (Pattern a)
- | FunctionPattern SpanInfo a QualIdent [Pattern a]
- | InfixFuncPattern SpanInfo a (Pattern a) QualIdent (Pattern a)
- data Expression a
- = Literal SpanInfo a Literal
- | Variable SpanInfo a QualIdent
- | Constructor SpanInfo a QualIdent
- | Paren SpanInfo (Expression a)
- | Typed SpanInfo (Expression a) QualTypeExpr
- | Record SpanInfo a QualIdent [Field (Expression a)]
- | RecordUpdate SpanInfo (Expression a) [Field (Expression a)]
- | Tuple SpanInfo [Expression a]
- | List SpanInfo a [Expression a]
- | ListCompr SpanInfo (Expression a) [Statement a]
- | EnumFrom SpanInfo (Expression a)
- | EnumFromThen SpanInfo (Expression a) (Expression a)
- | EnumFromTo SpanInfo (Expression a) (Expression a)
- | EnumFromThenTo SpanInfo (Expression a) (Expression a) (Expression a)
- | UnaryMinus SpanInfo (Expression a)
- | Apply SpanInfo (Expression a) (Expression a)
- | InfixApply SpanInfo (Expression a) (InfixOp a) (Expression a)
- | LeftSection SpanInfo (Expression a) (InfixOp a)
- | RightSection SpanInfo (InfixOp a) (Expression a)
- | Lambda SpanInfo [Pattern a] (Expression a)
- | Let SpanInfo LayoutInfo [Decl a] (Expression a)
- | Do SpanInfo LayoutInfo [Statement a] (Expression a)
- | IfThenElse SpanInfo (Expression a) (Expression a) (Expression a)
- | Case SpanInfo LayoutInfo CaseType (Expression a) [Alt a]
- data InfixOp a
- = InfixOp a QualIdent
- | InfixConstr a QualIdent
- data Statement a
- = StmtExpr SpanInfo (Expression a)
- | StmtDecl SpanInfo LayoutInfo [Decl a]
- | StmtBind SpanInfo (Pattern a) (Expression a)
- data CaseType
- data Alt a = Alt SpanInfo (Pattern a) (Rhs a)
- data Field a = Field SpanInfo QualIdent a
- data Var a = Var a Ident
- type Context = [Constraint]
- data Constraint = Constraint SpanInfo QualIdent TypeExpr
- type InstanceType = TypeExpr
- data Goal a = Goal SpanInfo LayoutInfo (Expression a) [Decl a]
Module header
Curry module
Constructors
Module SpanInfo LayoutInfo [ModulePragma] ModuleIdent (Maybe ExportSpec) [ImportDecl] [Decl a] |
Instances
Functor Module Source # | |
Eq a => Eq (Module a) Source # | |
Read a => Read (Module a) Source # | |
Show a => Show (Module a) Source # | |
Binary a => Binary (Module a) Source # | |
Pretty (Module a) Source # | |
HasPosition (Module a) Source # | |
Defined in Curry.Syntax.Type | |
HasSpanInfo (Module a) Source # | |
Defined in Curry.Syntax.Type Methods getSpanInfo :: Module a -> SpanInfo Source # setSpanInfo :: SpanInfo -> Module a -> Module a Source # updateEndPos :: Module a -> Module a Source # getLayoutInfo :: Module a -> LayoutInfo Source # |
Module pragmas
data ModulePragma Source #
Module pragma
Constructors
LanguagePragma SpanInfo [Extension] | language pragma |
OptionsPragma SpanInfo (Maybe Tool) String | options pragma |
Instances
Specified language extensions, either known or unknown.
Constructors
KnownExtension SpanInfo KnownExtension | a known extension |
UnknownExtension SpanInfo String | an unknown extension |
Instances
Eq Extension Source # | |
Read Extension Source # | |
Show Extension Source # | |
Binary Extension Source # | |
Pretty Extension Source # | |
HasPosition Extension Source # | |
Defined in Curry.Syntax.Extension | |
HasSpanInfo Extension Source # | |
Defined in Curry.Syntax.Extension Methods getSpanInfo :: Extension -> SpanInfo Source # setSpanInfo :: SpanInfo -> Extension -> Extension Source # updateEndPos :: Extension -> Extension Source # getLayoutInfo :: Extension -> LayoutInfo Source # |
data KnownExtension Source #
Known language extensions of Curry.
Constructors
AnonFreeVars | anonymous free variables |
CPP | C preprocessor |
FunctionalPatterns | functional patterns |
NegativeLiterals | negative literals |
NoImplicitPrelude | no implicit import of the prelude |
Instances
Different Curry tools which may accept compiler options.
Export specification
data ExportSpec Source #
Export specification
Instances
Single exported entity
Constructors
Export SpanInfo QualIdent | |
ExportTypeWith SpanInfo QualIdent [Ident] | |
ExportTypeAll SpanInfo QualIdent | |
ExportModule SpanInfo ModuleIdent |
Instances
Eq Export Source # | |
Read Export Source # | |
Show Export Source # | |
Binary Export Source # | |
Pretty Export Source # | |
HasPosition Export Source # | |
Defined in Curry.Syntax.Type | |
HasSpanInfo Export Source # | |
Defined in Curry.Syntax.Type Methods getSpanInfo :: Export -> SpanInfo Source # setSpanInfo :: SpanInfo -> Export -> Export Source # updateEndPos :: Export -> Export Source # getLayoutInfo :: Export -> LayoutInfo Source # |
Import declarations
data ImportDecl Source #
Import declaration
Constructors
ImportDecl SpanInfo ModuleIdent Qualified (Maybe ModuleIdent) (Maybe ImportSpec) |
Instances
data ImportSpec Source #
Import specification
Instances
Single imported entity
Constructors
Import SpanInfo Ident | |
ImportTypeWith SpanInfo Ident [Ident] | |
ImportTypeAll SpanInfo Ident |
Instances
Eq Import Source # | |
Read Import Source # | |
Show Import Source # | |
Binary Import Source # | |
Pretty Import Source # | |
HasPosition Import Source # | |
Defined in Curry.Syntax.Type | |
HasSpanInfo Import Source # | |
Defined in Curry.Syntax.Type Methods getSpanInfo :: Import -> SpanInfo Source # setSpanInfo :: SpanInfo -> Import -> Import Source # updateEndPos :: Import -> Import Source # getLayoutInfo :: Import -> LayoutInfo Source # |
Interface
Module interface
Interface declarations are restricted to type declarations and signatures. Note that an interface function declaration additionaly contains the function arity (= number of parameters) in order to generate correct FlatCurry function applications.
Constructors
Interface ModuleIdent [IImportDecl] [IDecl] |
data IImportDecl Source #
Interface import declaration
Constructors
IImportDecl Position ModuleIdent |
Instances
Eq IImportDecl Source # | |
Defined in Curry.Syntax.Type Methods (==) :: IImportDecl -> IImportDecl -> Bool Source # (/=) :: IImportDecl -> IImportDecl -> Bool Source # | |
Read IImportDecl Source # | |
Defined in Curry.Syntax.Type | |
Show IImportDecl Source # | |
Defined in Curry.Syntax.Type | |
Pretty IImportDecl Source # | |
Defined in Curry.Syntax.Pretty Methods pPrint :: IImportDecl -> Doc Source # pPrintPrec :: Int -> IImportDecl -> Doc Source # pPrintList :: [IImportDecl] -> Doc Source # |
Interface declaration
Constructors
Kind expressions
data IMethodDecl Source #
Class methods
Constructors
IMethodDecl Position Ident (Maybe Arity) QualTypeExpr |
Instances
Eq IMethodDecl Source # | |
Defined in Curry.Syntax.Type Methods (==) :: IMethodDecl -> IMethodDecl -> Bool Source # (/=) :: IMethodDecl -> IMethodDecl -> Bool Source # | |
Read IMethodDecl Source # | |
Defined in Curry.Syntax.Type | |
Show IMethodDecl Source # | |
Defined in Curry.Syntax.Type | |
Pretty IMethodDecl Source # | |
Defined in Curry.Syntax.Pretty Methods pPrint :: IMethodDecl -> Doc Source # pPrintPrec :: Int -> IMethodDecl -> Doc Source # pPrintList :: [IMethodDecl] -> Doc Source # |
type IMethodImpl = (Ident, Arity) Source #
Class method implementations
Declarations
Declaration in a module
Constructors
Instances
Functor Decl Source # | |
QualAnnotExpr Decl Source # | |
Defined in Base.AnnotExpr | |
Eq a => Eq (Decl a) Source # | |
Read a => Read (Decl a) Source # | |
Show a => Show (Decl a) Source # | |
Binary a => Binary (Decl a) Source # | |
Pretty (Decl a) Source # | |
HasPosition (Decl a) Source # | |
Defined in Curry.Syntax.Type | |
HasSpanInfo (Decl a) Source # | |
Defined in Curry.Syntax.Type Methods getSpanInfo :: Decl a -> SpanInfo Source # setSpanInfo :: SpanInfo -> Decl a -> Decl a Source # updateEndPos :: Decl a -> Decl a Source # getLayoutInfo :: Decl a -> LayoutInfo Source # | |
QuantExpr (Decl a) Source # | |
QualExpr (Decl a) Source # | |
type Precedence = Integer Source #
Operator precedence
Fixity of operators
data ConstrDecl Source #
Constructor declaration for algebraic data types
Constructors
ConstrDecl SpanInfo Ident [TypeExpr] | |
ConOpDecl SpanInfo TypeExpr Ident TypeExpr | |
RecordDecl SpanInfo Ident [FieldDecl] |
Instances
data NewConstrDecl Source #
Constructor declaration for renaming types (newtypes)
Constructors
NewConstrDecl SpanInfo Ident TypeExpr | |
NewRecordDecl SpanInfo Ident (Ident, TypeExpr) |
Instances
Declaration for labelled fields
Instances
Eq FieldDecl Source # | |
Read FieldDecl Source # | |
Show FieldDecl Source # | |
Binary FieldDecl Source # | |
Pretty FieldDecl Source # | |
HasPosition FieldDecl Source # | |
Defined in Curry.Syntax.Type | |
HasSpanInfo FieldDecl Source # | |
Defined in Curry.Syntax.Type Methods getSpanInfo :: FieldDecl -> SpanInfo Source # setSpanInfo :: SpanInfo -> FieldDecl -> FieldDecl Source # updateEndPos :: FieldDecl -> FieldDecl Source # getLayoutInfo :: FieldDecl -> LayoutInfo Source # |
Type expressions
Constructors
Instances
Eq TypeExpr Source # | |
Read TypeExpr Source # | |
Show TypeExpr Source # | |
Binary TypeExpr Source # | |
Pretty TypeExpr Source # | |
HasPosition TypeExpr Source # | |
Defined in Curry.Syntax.Type | |
HasSpanInfo TypeExpr Source # | |
Defined in Curry.Syntax.Type Methods getSpanInfo :: TypeExpr -> SpanInfo Source # setSpanInfo :: SpanInfo -> TypeExpr -> TypeExpr Source # updateEndPos :: TypeExpr -> TypeExpr Source # getLayoutInfo :: TypeExpr -> LayoutInfo Source # | |
QuantExpr TypeExpr Source # | |
Expr TypeExpr Source # | |
data QualTypeExpr Source #
Qualified type expressions
Constructors
QualTypeExpr SpanInfo Context TypeExpr |
Instances
Function defining equation
Instances
Functor Equation Source # | |
QualAnnotExpr Equation Source # | |
Defined in Base.AnnotExpr | |
Eq a => Eq (Equation a) Source # | |
Read a => Read (Equation a) Source # | |
Show a => Show (Equation a) Source # | |
Binary a => Binary (Equation a) Source # | |
Pretty (Equation a) Source # | |
HasPosition (Equation a) Source # | |
Defined in Curry.Syntax.Type | |
HasSpanInfo (Equation a) Source # | |
Defined in Curry.Syntax.Type Methods getSpanInfo :: Equation a -> SpanInfo Source # setSpanInfo :: SpanInfo -> Equation a -> Equation a Source # updateEndPos :: Equation a -> Equation a Source # getLayoutInfo :: Equation a -> LayoutInfo Source # | |
QualExpr (Equation a) Source # | |
Left-hand-side of an Equation
(function identifier and patterns)
Constructors
FunLhs SpanInfo Ident [Pattern a] | |
OpLhs SpanInfo (Pattern a) Ident (Pattern a) | |
ApLhs SpanInfo (Lhs a) [Pattern a] |
Instances
Functor Lhs Source # | |
QualAnnotExpr Lhs Source # | |
Defined in Base.AnnotExpr | |
Eq a => Eq (Lhs a) Source # | |
Read a => Read (Lhs a) Source # | |
Show a => Show (Lhs a) Source # | |
Binary a => Binary (Lhs a) Source # | |
Pretty (Lhs a) Source # | |
HasPosition (Lhs a) Source # | |
Defined in Curry.Syntax.Type | |
HasSpanInfo (Lhs a) Source # | |
Defined in Curry.Syntax.Type Methods getSpanInfo :: Lhs a -> SpanInfo Source # setSpanInfo :: SpanInfo -> Lhs a -> Lhs a Source # updateEndPos :: Lhs a -> Lhs a Source # getLayoutInfo :: Lhs a -> LayoutInfo Source # | |
QuantExpr (Lhs a) Source # | |
QualExpr (Lhs a) Source # | |
Right-hand-side of an Equation
Constructors
SimpleRhs SpanInfo LayoutInfo (Expression a) [Decl a] | |
GuardedRhs SpanInfo LayoutInfo [CondExpr a] [Decl a] |
Instances
Functor Rhs Source # | |
QualAnnotExpr Rhs Source # | |
Defined in Base.AnnotExpr | |
Eq a => Eq (Rhs a) Source # | |
Read a => Read (Rhs a) Source # | |
Show a => Show (Rhs a) Source # | |
Binary a => Binary (Rhs a) Source # | |
HasPosition (Rhs a) Source # | |
Defined in Curry.Syntax.Type | |
HasSpanInfo (Rhs a) Source # | |
Defined in Curry.Syntax.Type Methods getSpanInfo :: Rhs a -> SpanInfo Source # setSpanInfo :: SpanInfo -> Rhs a -> Rhs a Source # updateEndPos :: Rhs a -> Rhs a Source # getLayoutInfo :: Rhs a -> LayoutInfo Source # | |
QualExpr (Rhs a) Source # | |
Typeable a => Typeable (Rhs a) Source # | |
Conditional expression (expression conditioned by a guard)
Constructors
CondExpr SpanInfo (Expression a) (Expression a) |
Instances
Functor CondExpr Source # | |
QualAnnotExpr CondExpr Source # | |
Defined in Base.AnnotExpr | |
Eq a => Eq (CondExpr a) Source # | |
Read a => Read (CondExpr a) Source # | |
Show a => Show (CondExpr a) Source # | |
Binary a => Binary (CondExpr a) Source # | |
HasPosition (CondExpr a) Source # | |
Defined in Curry.Syntax.Type | |
HasSpanInfo (CondExpr a) Source # | |
Defined in Curry.Syntax.Type Methods getSpanInfo :: CondExpr a -> SpanInfo Source # setSpanInfo :: SpanInfo -> CondExpr a -> CondExpr a Source # updateEndPos :: CondExpr a -> CondExpr a Source # getLayoutInfo :: CondExpr a -> LayoutInfo Source # | |
QualExpr (CondExpr a) Source # | |
Literal
Constructor term (used for patterns)
Constructors
LiteralPattern SpanInfo a Literal | |
NegativePattern SpanInfo a Literal | |
VariablePattern SpanInfo a Ident | |
ConstructorPattern SpanInfo a QualIdent [Pattern a] | |
InfixPattern SpanInfo a (Pattern a) QualIdent (Pattern a) | |
ParenPattern SpanInfo (Pattern a) | |
RecordPattern SpanInfo a QualIdent [Field (Pattern a)] | |
TuplePattern SpanInfo [Pattern a] | |
ListPattern SpanInfo a [Pattern a] | |
AsPattern SpanInfo Ident (Pattern a) | |
LazyPattern SpanInfo (Pattern a) | |
FunctionPattern SpanInfo a QualIdent [Pattern a] | |
InfixFuncPattern SpanInfo a (Pattern a) QualIdent (Pattern a) |
Instances
Functor Pattern Source # | |
QualAnnotExpr Pattern Source # | |
Defined in Base.AnnotExpr | |
Eq a => Eq (Pattern a) Source # | |
Read a => Read (Pattern a) Source # | |
Show a => Show (Pattern a) Source # | |
Binary a => Binary (Pattern a) Source # | |
Pretty (Pattern a) Source # | |
HasPosition (Pattern a) Source # | |
Defined in Curry.Syntax.Type | |
HasSpanInfo (Pattern a) Source # | |
Defined in Curry.Syntax.Type Methods getSpanInfo :: Pattern a -> SpanInfo Source # setSpanInfo :: SpanInfo -> Pattern a -> Pattern a Source # updateEndPos :: Pattern a -> Pattern a Source # getLayoutInfo :: Pattern a -> LayoutInfo Source # | |
QuantExpr (Pattern a) Source # | |
QualExpr (Pattern a) Source # | |
Typeable a => Typeable (Pattern a) Source # | |
data Expression a Source #
Expression
Constructors
Instances
Infix operation
Constructors
InfixOp a QualIdent | |
InfixConstr a QualIdent |
Instances
Functor InfixOp Source # | |
QualAnnotExpr InfixOp Source # | |
Defined in Base.AnnotExpr | |
Eq a => Eq (InfixOp a) Source # | |
Read a => Read (InfixOp a) Source # | |
Show a => Show (InfixOp a) Source # | |
Binary a => Binary (InfixOp a) Source # | |
Pretty (InfixOp a) Source # | |
HasPosition (InfixOp a) Source # | |
Defined in Curry.Syntax.Type | |
QualExpr (InfixOp a) Source # | |
Statement (used for do-sequence and list comprehensions)
Constructors
StmtExpr SpanInfo (Expression a) | |
StmtDecl SpanInfo LayoutInfo [Decl a] | |
StmtBind SpanInfo (Pattern a) (Expression a) |
Instances
Functor Statement Source # | |
QualAnnotExpr Statement Source # | |
Defined in Base.AnnotExpr | |
Eq a => Eq (Statement a) Source # | |
Read a => Read (Statement a) Source # | |
Show a => Show (Statement a) Source # | |
Binary a => Binary (Statement a) Source # | |
Pretty (Statement a) Source # | |
HasPosition (Statement a) Source # | |
Defined in Curry.Syntax.Type | |
HasSpanInfo (Statement a) Source # | |
Defined in Curry.Syntax.Type Methods getSpanInfo :: Statement a -> SpanInfo Source # setSpanInfo :: SpanInfo -> Statement a -> Statement a Source # updateEndPos :: Statement a -> Statement a Source # getLayoutInfo :: Statement a -> LayoutInfo Source # | |
QuantExpr (Statement a) Source # | |
QualExpr (Statement a) Source # | |
Type of case expressions
Single case alternative
Instances
Functor Alt Source # | |
QualAnnotExpr Alt Source # | |
Defined in Base.AnnotExpr | |
Eq a => Eq (Alt a) Source # | |
Read a => Read (Alt a) Source # | |
Show a => Show (Alt a) Source # | |
Binary a => Binary (Alt a) Source # | |
Pretty (Alt a) Source # | |
HasPosition (Alt a) Source # | |
Defined in Curry.Syntax.Type | |
HasSpanInfo (Alt a) Source # | |
Defined in Curry.Syntax.Type Methods getSpanInfo :: Alt a -> SpanInfo Source # setSpanInfo :: SpanInfo -> Alt a -> Alt a Source # updateEndPos :: Alt a -> Alt a Source # getLayoutInfo :: Alt a -> LayoutInfo Source # | |
QualExpr (Alt a) Source # | |
Typeable a => Typeable (Alt a) Source # | |
Record field
Instances
Functor Field Source # | |
Eq a => Eq (Field a) Source # | |
Read a => Read (Field a) Source # | |
Show a => Show (Field a) Source # | |
Binary a => Binary (Field a) Source # | |
Pretty a => Pretty (Field a) Source # | |
HasPosition (Field a) Source # | |
Defined in Curry.Syntax.Type | |
HasSpanInfo (Field a) Source # | |
Defined in Curry.Syntax.Type Methods getSpanInfo :: Field a -> SpanInfo Source # setSpanInfo :: SpanInfo -> Field a -> Field a Source # updateEndPos :: Field a -> Field a Source # getLayoutInfo :: Field a -> LayoutInfo Source # | |
QuantExpr a => QuantExpr (Field a) Source # | |
QualExpr a => QualExpr (Field a) Source # | |
Annotated identifier
Type classes
type Context = [Constraint] Source #
data Constraint Source #
Constructors
Constraint SpanInfo QualIdent TypeExpr |
Instances
type InstanceType = TypeExpr Source #
Goals
Goal in REPL (expression to evaluate)
Constructors
Goal SpanInfo LayoutInfo (Expression a) [Decl a] |
Instances
Functor Goal Source # | |
Eq a => Eq (Goal a) Source # | |
Read a => Read (Goal a) Source # | |
Show a => Show (Goal a) Source # | |
HasPosition (Goal a) Source # | |
Defined in Curry.Syntax.Type | |
HasSpanInfo (Goal a) Source # | |
Defined in Curry.Syntax.Type Methods getSpanInfo :: Goal a -> SpanInfo Source # setSpanInfo :: SpanInfo -> Goal a -> Goal a Source # updateEndPos :: Goal a -> Goal a Source # getLayoutInfo :: Goal a -> LayoutInfo Source # |