mirror of
https://github.com/github/semantic.git
synced 2024-12-25 16:02:43 +03:00
Merge pull request #1940 from github/haskell-assignment
Haskell assignment #6
This commit is contained in:
commit
eb9b2d5c01
@ -194,7 +194,7 @@ instance Evaluatable Data.Syntax.Declaration.Datatype
|
|||||||
|
|
||||||
|
|
||||||
-- | A single constructor in a datatype, or equally a 'struct' in C, Rust, or Swift.
|
-- | A single constructor in a datatype, or equally a 'struct' in C, Rust, or Swift.
|
||||||
data Constructor a = Constructor { constructorContext :: a, constructorName :: a, constructorFields :: a }
|
data Constructor a = Constructor { constructorContext :: [a], constructorName :: a, constructorFields :: a }
|
||||||
deriving (Declarations1, Diffable, Eq, Foldable, FreeVariables1, Functor, Generic1, Hashable1, Mergeable, Ord, Show, ToJSONFields1, Traversable)
|
deriving (Declarations1, Diffable, Eq, Foldable, FreeVariables1, Functor, Generic1, Hashable1, Mergeable, Ord, Show, ToJSONFields1, Traversable)
|
||||||
|
|
||||||
instance Eq1 Data.Syntax.Declaration.Constructor where liftEq = genericLiftEq
|
instance Eq1 Data.Syntax.Declaration.Constructor where liftEq = genericLiftEq
|
||||||
|
@ -316,7 +316,7 @@ sliceType :: Assignment
|
|||||||
sliceType = makeTerm <$> symbol SliceType <*> children (Type.Slice <$> expression)
|
sliceType = makeTerm <$> symbol SliceType <*> children (Type.Slice <$> expression)
|
||||||
|
|
||||||
structType :: Assignment
|
structType :: Assignment
|
||||||
structType = makeTerm <$> symbol StructType <*> children (Declaration.Constructor <$> emptyTerm <*> emptyTerm <*> expressions)
|
structType = makeTerm <$> symbol StructType <*> children (Declaration.Constructor <$> pure [] <*> emptyTerm <*> expressions)
|
||||||
|
|
||||||
typeAlias :: Assignment
|
typeAlias :: Assignment
|
||||||
typeAlias = makeTerm <$> symbol TypeAlias <*> children (Declaration.TypeAlias [] <$> expression <*> expression)
|
typeAlias = makeTerm <$> symbol TypeAlias <*> children (Declaration.TypeAlias [] <$> expression <*> expression)
|
||||||
|
@ -34,15 +34,19 @@ type Syntax = '[
|
|||||||
, Literal.Float
|
, Literal.Float
|
||||||
, Literal.Integer
|
, Literal.Integer
|
||||||
, Literal.TextElement
|
, Literal.TextElement
|
||||||
|
, Literal.Tuple
|
||||||
, Syntax.AllConstructors
|
, Syntax.AllConstructors
|
||||||
, Syntax.AnnotatedTypeVariable
|
, Syntax.AnnotatedTypeVariable
|
||||||
, Syntax.Class
|
, Syntax.Class
|
||||||
, Syntax.ConstructorOperator
|
, Syntax.ConstructorSymbol
|
||||||
, Syntax.Context
|
, Syntax.Context
|
||||||
, Syntax.Context'
|
, Syntax.Context'
|
||||||
|
, Syntax.DefaultDeclaration
|
||||||
, Syntax.Deriving
|
, Syntax.Deriving
|
||||||
, Syntax.Empty
|
, Syntax.Empty
|
||||||
|
, Syntax.EntityIdentifier
|
||||||
, Syntax.Error
|
, Syntax.Error
|
||||||
|
, Syntax.EqualityConstraint
|
||||||
, Syntax.Export
|
, Syntax.Export
|
||||||
, Syntax.Field
|
, Syntax.Field
|
||||||
, Syntax.FunctionConstructor
|
, Syntax.FunctionConstructor
|
||||||
@ -58,6 +62,8 @@ type Syntax = '[
|
|||||||
, Syntax.ListConstructor
|
, Syntax.ListConstructor
|
||||||
, Syntax.Module
|
, Syntax.Module
|
||||||
, Syntax.ModuleExport
|
, Syntax.ModuleExport
|
||||||
|
, Syntax.NewType
|
||||||
|
, Syntax.Operator
|
||||||
, Syntax.Pragma
|
, Syntax.Pragma
|
||||||
, Syntax.QualifiedModuleIdentifier
|
, Syntax.QualifiedModuleIdentifier
|
||||||
, Syntax.QualifiedTypeConstructorIdentifier
|
, Syntax.QualifiedTypeConstructorIdentifier
|
||||||
@ -74,7 +80,7 @@ type Syntax = '[
|
|||||||
, Syntax.TypeSignature
|
, Syntax.TypeSignature
|
||||||
, Syntax.TypeSynonym
|
, Syntax.TypeSynonym
|
||||||
, Syntax.UnitConstructor
|
, Syntax.UnitConstructor
|
||||||
, Syntax.VariableOperator
|
, Syntax.VariableSymbol
|
||||||
, Type.TypeParameters
|
, Type.TypeParameters
|
||||||
, []
|
, []
|
||||||
]
|
]
|
||||||
@ -112,27 +118,36 @@ comment :: Assignment
|
|||||||
comment = makeTerm <$> symbol Comment <*> (Comment.Comment <$> source)
|
comment = makeTerm <$> symbol Comment <*> (Comment.Comment <$> source)
|
||||||
|
|
||||||
constructor :: Assignment
|
constructor :: Assignment
|
||||||
constructor = (makeTerm <$> symbol DataConstructor <*> children (Declaration.Constructor <$> (context' <|> emptyTerm) <*> typeConstructor <*> typeParameters))
|
constructor = (makeTerm <$> symbol DataConstructor <*> children (Declaration.Constructor <$> manyTerm (context' <|> scopedTypeVariables) <*> typeConstructor <*> typeParameters))
|
||||||
<|> (makeTerm <$> symbol RecordDataConstructor <*> children (Syntax.RecordDataConstructor <$> constructorIdentifier <*> fields))
|
<|> (makeTerm <$> symbol RecordDataConstructor <*> children (Syntax.RecordDataConstructor <$> constructorIdentifier <*> fields))
|
||||||
|
|
||||||
constructorIdentifier :: Assignment
|
constructorIdentifier :: Assignment
|
||||||
constructorIdentifier = makeTerm <$> symbol ConstructorIdentifier <*> (Syntax.Identifier . Name.name <$> source)
|
constructorIdentifier = makeTerm <$> symbol ConstructorIdentifier <*> (Syntax.ConstructorIdentifier . Name.name <$> source)
|
||||||
|
|
||||||
constructorOperator :: Assignment
|
constructorOperator :: Assignment
|
||||||
constructorOperator = makeTerm <$> symbol ConstructorOperator <*> children (Syntax.ConstructorOperator <$> expression)
|
constructorOperator = makeTerm <$> symbol ConstructorOperator <*> children (Syntax.ConstructorOperator <$> expression)
|
||||||
|
|
||||||
constructorSymbol :: Assignment
|
constructorSymbol :: Assignment
|
||||||
constructorSymbol = makeTerm <$> symbol ConstructorSymbol <*> (Syntax.Identifier . Name.name <$> source)
|
constructorSymbol = makeTerm <$> symbol ConstructorSymbol <*> (Syntax.ConstructorSymbol . Name.name <$> source)
|
||||||
|
|
||||||
context' :: Assignment
|
context' :: Assignment
|
||||||
context' = makeTerm <$> symbol Context <*> children (Syntax.Context' <$> manyTerm (type' <|> contextPattern))
|
context' = makeTerm <$> symbol Context <*> children (Syntax.Context' <$> manyTerm expression)
|
||||||
|
|
||||||
contextPattern :: Assignment
|
contextPattern :: Assignment
|
||||||
contextPattern = symbol ContextPattern *> children type'
|
contextPattern = makeTerm <$> symbol ContextPattern <*> children (manyTerm expression)
|
||||||
|
|
||||||
|
defaultDeclaration :: Assignment
|
||||||
|
defaultDeclaration = makeTerm <$> symbol DefaultDeclaration <*> children (Syntax.DefaultDeclaration <$> manyTerm expression)
|
||||||
|
|
||||||
derivingClause :: Assignment
|
derivingClause :: Assignment
|
||||||
derivingClause = makeTerm <$> symbol Deriving <*> children (Syntax.Deriving <$> manyTerm typeConstructor)
|
derivingClause = makeTerm <$> symbol Deriving <*> children (Syntax.Deriving <$> manyTerm typeConstructor)
|
||||||
|
|
||||||
|
equalityConstraint :: Assignment
|
||||||
|
equalityConstraint = makeTerm <$> symbol EqualityConstraint <*> children (Syntax.EqualityConstraint <$> equalityLhs <*> equalityRhs)
|
||||||
|
where
|
||||||
|
equalityLhs = symbol EqualityLhs *> children expression
|
||||||
|
equalityRhs = symbol EqualityRhs *> children expression
|
||||||
|
|
||||||
export :: Assignment
|
export :: Assignment
|
||||||
export = makeTerm <$> symbol Export <*> children (Syntax.Export <$> expressions)
|
export = makeTerm <$> symbol Export <*> children (Syntax.Export <$> expressions)
|
||||||
|
|
||||||
@ -150,10 +165,13 @@ expressionChoices = [
|
|||||||
, character
|
, character
|
||||||
, comment
|
, comment
|
||||||
, context'
|
, context'
|
||||||
|
, contextPattern
|
||||||
, constructorIdentifier
|
, constructorIdentifier
|
||||||
, constructorOperator
|
, constructorOperator
|
||||||
, constructorSymbol
|
, constructorSymbol
|
||||||
|
, defaultDeclaration
|
||||||
, derivingClause
|
, derivingClause
|
||||||
|
, equalityConstraint
|
||||||
, float
|
, float
|
||||||
, functionConstructor
|
, functionConstructor
|
||||||
, functionDeclaration
|
, functionDeclaration
|
||||||
@ -169,9 +187,11 @@ expressionChoices = [
|
|||||||
, listType
|
, listType
|
||||||
, moduleExport
|
, moduleExport
|
||||||
, moduleIdentifier
|
, moduleIdentifier
|
||||||
|
, newType
|
||||||
, operator
|
, operator
|
||||||
, parenthesizedTypePattern
|
, parenthesizedTypePattern
|
||||||
, pragma
|
, pragma
|
||||||
|
, primitiveConstructorIdentifier
|
||||||
, qualifiedModuleIdentifier
|
, qualifiedModuleIdentifier
|
||||||
, qualifiedTypeConstructorIdentifier
|
, qualifiedTypeConstructorIdentifier
|
||||||
, quotedName
|
, quotedName
|
||||||
@ -179,6 +199,7 @@ expressionChoices = [
|
|||||||
, star
|
, star
|
||||||
, strictType
|
, strictType
|
||||||
, string
|
, string
|
||||||
|
, tupleType
|
||||||
, type'
|
, type'
|
||||||
, type''
|
, type''
|
||||||
, typePattern
|
, typePattern
|
||||||
@ -295,7 +316,15 @@ moduleExport :: Assignment
|
|||||||
moduleExport = makeTerm <$> symbol ModuleExport <*> children (Syntax.ModuleExport <$> expressions)
|
moduleExport = makeTerm <$> symbol ModuleExport <*> children (Syntax.ModuleExport <$> expressions)
|
||||||
|
|
||||||
moduleIdentifier :: Assignment
|
moduleIdentifier :: Assignment
|
||||||
moduleIdentifier = makeTerm <$> symbol ModuleIdentifier <*> (Syntax.Identifier . Name.name <$> source)
|
moduleIdentifier = makeTerm <$> symbol ModuleIdentifier <*> (Syntax.ModuleIdentifier . Name.name <$> source)
|
||||||
|
|
||||||
|
newConstructor :: Assignment
|
||||||
|
newConstructor = makeTerm <$> symbol NewConstructor <*> children (Declaration.Constructor <$> manyTerm (context' <|> scopedTypeVariables) <*> typeConstructor <*> typeParameters)
|
||||||
|
|
||||||
|
newType :: Assignment
|
||||||
|
newType = makeTerm <$> symbol NewtypeDeclaration <*> children (Syntax.NewType <$> manyTerm (context' <|> scopedTypeVariables) <*> typeLeft <*> newConstructor <*> (derivingClause <|> emptyTerm))
|
||||||
|
where
|
||||||
|
typeLeft = makeTerm <$> location <*> manyTermsTill expression (symbol NewConstructor)
|
||||||
|
|
||||||
operator :: Assignment
|
operator :: Assignment
|
||||||
operator = typeOperator <|> constructorOperator <|> variableOperator
|
operator = typeOperator <|> constructorOperator <|> variableOperator
|
||||||
@ -306,6 +335,9 @@ parenthesizedTypePattern = symbol ParenthesizedTypePattern *> children expressio
|
|||||||
pragma :: Assignment
|
pragma :: Assignment
|
||||||
pragma = makeTerm <$> symbol Pragma <*> (Syntax.Pragma <$> source)
|
pragma = makeTerm <$> symbol Pragma <*> (Syntax.Pragma <$> source)
|
||||||
|
|
||||||
|
primitiveConstructorIdentifier :: Assignment
|
||||||
|
primitiveConstructorIdentifier = makeTerm <$> symbol PrimitiveConstructorIdentifier <*> (Syntax.PrimitiveConstructorIdentifier . Name.name <$> source)
|
||||||
|
|
||||||
qualifiedModuleIdentifier :: Assignment
|
qualifiedModuleIdentifier :: Assignment
|
||||||
qualifiedModuleIdentifier = makeTerm <$> symbol QualifiedModuleIdentifier <*> children (Syntax.QualifiedModuleIdentifier <$> someTerm' expression)
|
qualifiedModuleIdentifier = makeTerm <$> symbol QualifiedModuleIdentifier <*> children (Syntax.QualifiedModuleIdentifier <$> someTerm' expression)
|
||||||
|
|
||||||
@ -325,28 +357,31 @@ strictType :: Assignment
|
|||||||
strictType = makeTerm'
|
strictType = makeTerm'
|
||||||
<$> symbol StrictType
|
<$> symbol StrictType
|
||||||
<*> children ( (inject <$> (Syntax.StrictType <$> typeConstructor <*> typeParameters))
|
<*> children ( (inject <$> (Syntax.StrictType <$> typeConstructor <*> typeParameters))
|
||||||
<|> (inject <$> (Syntax.StrictTypeVariable <$> typeVariableIdentifier)))
|
<|> (inject <$> (Syntax.StrictTypeVariable <$> expression)))
|
||||||
|
|
||||||
string :: Assignment
|
string :: Assignment
|
||||||
string = makeTerm <$> symbol String <*> (Literal.TextElement <$> source)
|
string = makeTerm <$> symbol String <*> (Literal.TextElement <$> source)
|
||||||
|
|
||||||
|
tupleType :: Assignment
|
||||||
|
tupleType = makeTerm <$> symbol TupleType <*> children (Literal.Tuple <$> manyTerm type')
|
||||||
|
|
||||||
typeClassIdentifier :: Assignment
|
typeClassIdentifier :: Assignment
|
||||||
typeClassIdentifier = makeTerm <$> symbol TypeClassIdentifier <*> (Syntax.Identifier . Name.name <$> source)
|
typeClassIdentifier = makeTerm <$> symbol TypeClassIdentifier <*> (Syntax.TypeClassIdentifier . Name.name <$> source)
|
||||||
|
|
||||||
typeConstructorExport :: Assignment
|
typeConstructorExport :: Assignment
|
||||||
typeConstructorExport = makeTerm <$> symbol TypeConstructorExport <*> children (Syntax.TypeConstructorExport <$> expression)
|
typeConstructorExport = makeTerm <$> symbol TypeConstructorExport <*> children (Syntax.TypeConstructorExport <$> expression)
|
||||||
|
|
||||||
typeConstructorIdentifier :: Assignment
|
typeConstructorIdentifier :: Assignment
|
||||||
typeConstructorIdentifier = makeTerm <$> symbol TypeConstructorIdentifier <*> (Syntax.Identifier . Name.name <$> source)
|
typeConstructorIdentifier = makeTerm <$> symbol TypeConstructorIdentifier <*> (Syntax.TypeConstructorIdentifier . Name.name <$> source)
|
||||||
|
|
||||||
typeOperator :: Assignment
|
typeOperator :: Assignment
|
||||||
typeOperator = makeTerm <$> symbol TypeOperator <*> (Syntax.Identifier . Name.name <$> source)
|
typeOperator = makeTerm <$> symbol TypeOperator <*> (Syntax.TypeOperator . Name.name <$> source)
|
||||||
|
|
||||||
typeSignature :: Assignment
|
typeSignature :: Assignment
|
||||||
typeSignature = makeTerm <$> symbol TypeSignature <*> children (Syntax.TypeSignature <$> variableIdentifier <* token Annotation <*> (manyTerm context' <|> pure []) <*> type')
|
typeSignature = makeTerm <$> symbol TypeSignature <*> children (Syntax.TypeSignature <$> variableIdentifier <* token Annotation <*> manyTerm (context' <|> scopedTypeVariables) <*> expression)
|
||||||
|
|
||||||
typeVariableIdentifier :: Assignment
|
typeVariableIdentifier :: Assignment
|
||||||
typeVariableIdentifier = makeTerm <$> symbol TypeVariableIdentifier <*> (Syntax.Identifier . Name.name <$> source)
|
typeVariableIdentifier = makeTerm <$> symbol TypeVariableIdentifier <*> (Syntax.TypeVariableIdentifier . Name.name <$> source)
|
||||||
|
|
||||||
tuplingConstructor :: Assignment
|
tuplingConstructor :: Assignment
|
||||||
tuplingConstructor = makeTerm <$> symbol TuplingConstructor <*> (tupleWithArity <$> rawSource)
|
tuplingConstructor = makeTerm <$> symbol TuplingConstructor <*> (tupleWithArity <$> rawSource)
|
||||||
@ -369,7 +404,7 @@ type'' = makeTerm
|
|||||||
<*> children (Syntax.Type <$> expression <*> typeParameters <*> (kindSignature <|> emptyTerm))
|
<*> children (Syntax.Type <$> expression <*> typeParameters <*> (kindSignature <|> emptyTerm))
|
||||||
|
|
||||||
typeParameters :: Assignment
|
typeParameters :: Assignment
|
||||||
typeParameters = makeTerm <$> location <*> (Type.TypeParameters <$> (manyTermsTill expression (symbol Annotation) <|> many expression))
|
typeParameters = makeTerm <$> location <*> (Type.TypeParameters <$> (manyTermsTill expression (symbol Annotation) <|> manyTerm expression))
|
||||||
|
|
||||||
typePattern :: Assignment
|
typePattern :: Assignment
|
||||||
typePattern = makeTerm <$> symbol TypePattern <*> children (Syntax.TypePattern <$> expressions)
|
typePattern = makeTerm <$> symbol TypePattern <*> children (Syntax.TypePattern <$> expressions)
|
||||||
@ -382,9 +417,10 @@ typeConstructor = constructorIdentifier
|
|||||||
<|> qualifiedModuleIdentifier
|
<|> qualifiedModuleIdentifier
|
||||||
<|> qualifiedTypeConstructorIdentifier
|
<|> qualifiedTypeConstructorIdentifier
|
||||||
<|> quotedName
|
<|> quotedName
|
||||||
|
<|> tupleType
|
||||||
|
<|> tuplingConstructor
|
||||||
<|> typeClassIdentifier
|
<|> typeClassIdentifier
|
||||||
<|> typeConstructorIdentifier
|
<|> typeConstructorIdentifier
|
||||||
<|> tuplingConstructor
|
|
||||||
<|> unitConstructor
|
<|> unitConstructor
|
||||||
|
|
||||||
typeSynonymDeclaration :: Assignment
|
typeSynonymDeclaration :: Assignment
|
||||||
@ -400,13 +436,13 @@ unitConstructor :: Assignment
|
|||||||
unitConstructor = makeTerm <$> token UnitConstructor <*> pure Syntax.UnitConstructor
|
unitConstructor = makeTerm <$> token UnitConstructor <*> pure Syntax.UnitConstructor
|
||||||
|
|
||||||
variableIdentifier :: Assignment
|
variableIdentifier :: Assignment
|
||||||
variableIdentifier = makeTerm <$> symbol VariableIdentifier <*> (Syntax.Identifier . Name.name <$> source)
|
variableIdentifier = makeTerm <$> symbol VariableIdentifier <*> (Syntax.VariableIdentifier . Name.name <$> source)
|
||||||
|
|
||||||
variableOperator :: Assignment
|
variableOperator :: Assignment
|
||||||
variableOperator = makeTerm <$> symbol VariableOperator <*> children (Syntax.VariableOperator <$> expression)
|
variableOperator = makeTerm <$> symbol VariableOperator <*> children (Syntax.VariableOperator <$> expression)
|
||||||
|
|
||||||
variableSymbol :: Assignment
|
variableSymbol :: Assignment
|
||||||
variableSymbol = makeTerm <$> (symbol VariableSymbol <|> symbol VariableSymbol') <*> (Syntax.Identifier . Name.name <$> source)
|
variableSymbol = makeTerm <$> (symbol VariableSymbol <|> symbol VariableSymbol') <*> (Syntax.VariableSymbol . Name.name <$> source)
|
||||||
|
|
||||||
variableIdentifiers :: Assignment
|
variableIdentifiers :: Assignment
|
||||||
variableIdentifiers = makeTerm <$> location <*> many variableIdentifier
|
variableIdentifiers = makeTerm <$> location <*> many variableIdentifier
|
||||||
|
@ -281,15 +281,6 @@ instance Show1 TypeConstructorExport where liftShowsPrec = genericLiftShowsPrec
|
|||||||
|
|
||||||
instance Evaluatable TypeConstructorExport
|
instance Evaluatable TypeConstructorExport
|
||||||
|
|
||||||
newtype VariableOperator a = VariableOperator { variableOperatorContent :: a }
|
|
||||||
deriving (Declarations1, Diffable, Eq, Foldable, FreeVariables1, Functor, Generic1, Hashable1, Mergeable, Ord, Show, ToJSONFields1, Traversable)
|
|
||||||
|
|
||||||
instance Eq1 VariableOperator where liftEq = genericLiftEq
|
|
||||||
instance Ord1 VariableOperator where liftCompare = genericLiftCompare
|
|
||||||
instance Show1 VariableOperator where liftShowsPrec = genericLiftShowsPrec
|
|
||||||
|
|
||||||
instance Evaluatable VariableOperator
|
|
||||||
|
|
||||||
data AllConstructors a = AllConstructors
|
data AllConstructors a = AllConstructors
|
||||||
deriving (Declarations1, Diffable, Eq, Foldable, FreeVariables1, Functor, Generic1, Hashable1, Mergeable, Ord, Show, ToJSONFields1, Traversable)
|
deriving (Declarations1, Diffable, Eq, Foldable, FreeVariables1, Functor, Generic1, Hashable1, Mergeable, Ord, Show, ToJSONFields1, Traversable)
|
||||||
|
|
||||||
@ -299,15 +290,6 @@ instance Show1 AllConstructors where liftShowsPrec = genericLiftShowsPrec
|
|||||||
|
|
||||||
instance Evaluatable AllConstructors
|
instance Evaluatable AllConstructors
|
||||||
|
|
||||||
newtype ConstructorOperator a = ConstructorOperator { constructorOperatorContent :: a }
|
|
||||||
deriving (Declarations1, Diffable, Eq, Foldable, FreeVariables1, Functor, Generic1, Hashable1, Mergeable, Ord, Show, ToJSONFields1, Traversable)
|
|
||||||
|
|
||||||
instance Eq1 ConstructorOperator where liftEq = genericLiftEq
|
|
||||||
instance Ord1 ConstructorOperator where liftCompare = genericLiftCompare
|
|
||||||
instance Show1 ConstructorOperator where liftShowsPrec = genericLiftShowsPrec
|
|
||||||
|
|
||||||
instance Evaluatable ConstructorOperator
|
|
||||||
|
|
||||||
data InfixOperatorPattern a = InfixOperatorPattern { infixOperatorPatternLeft :: a, infixOperatorPatternOperator :: a, infixOperatorPatternRight :: a }
|
data InfixOperatorPattern a = InfixOperatorPattern { infixOperatorPatternLeft :: a, infixOperatorPatternOperator :: a, infixOperatorPatternRight :: a }
|
||||||
deriving (Declarations1, Diffable, Eq, Foldable, FreeVariables1, Functor, Generic1, Hashable1, Mergeable, Ord, Show, ToJSONFields1, Traversable)
|
deriving (Declarations1, Diffable, Eq, Foldable, FreeVariables1, Functor, Generic1, Hashable1, Mergeable, Ord, Show, ToJSONFields1, Traversable)
|
||||||
|
|
||||||
@ -343,3 +325,74 @@ instance Ord1 ScopedTypeVariables where liftCompare = genericLiftCompare
|
|||||||
instance Show1 ScopedTypeVariables where liftShowsPrec = genericLiftShowsPrec
|
instance Show1 ScopedTypeVariables where liftShowsPrec = genericLiftShowsPrec
|
||||||
|
|
||||||
instance Evaluatable ScopedTypeVariables
|
instance Evaluatable ScopedTypeVariables
|
||||||
|
|
||||||
|
data NewType a = NewType { newTypeContext :: [a], newTypeLeft :: a, newTypeRight :: a, newTypeDeriving :: a }
|
||||||
|
deriving (Declarations1, Diffable, Eq, Foldable, FreeVariables1, Functor, Generic1, Hashable1, Mergeable, Ord, Show, ToJSONFields1, Traversable)
|
||||||
|
|
||||||
|
instance Eq1 NewType where liftEq = genericLiftEq
|
||||||
|
instance Ord1 NewType where liftCompare = genericLiftCompare
|
||||||
|
instance Show1 NewType where liftShowsPrec = genericLiftShowsPrec
|
||||||
|
|
||||||
|
instance Evaluatable NewType
|
||||||
|
|
||||||
|
newtype DefaultDeclaration a = DefaultDeclaration { defaultDeclarationContent :: [a] }
|
||||||
|
deriving (Declarations1, Diffable, Eq, Foldable, FreeVariables1, Functor, Generic1, Hashable1, Mergeable, Ord, Show, ToJSONFields1, Traversable)
|
||||||
|
|
||||||
|
instance Eq1 DefaultDeclaration where liftEq = genericLiftEq
|
||||||
|
instance Ord1 DefaultDeclaration where liftCompare = genericLiftCompare
|
||||||
|
instance Show1 DefaultDeclaration where liftShowsPrec = genericLiftShowsPrec
|
||||||
|
|
||||||
|
instance Evaluatable DefaultDeclaration
|
||||||
|
|
||||||
|
data EqualityConstraint a = EqualityConstraint { equalityConstraintLeft :: a, equalityConstraintRight :: a }
|
||||||
|
deriving (Declarations1, Diffable, Eq, Foldable, FreeVariables1, Functor, Generic1, Hashable1, Mergeable, Ord, Show, ToJSONFields1, Traversable)
|
||||||
|
|
||||||
|
instance Eq1 EqualityConstraint where liftEq = genericLiftEq
|
||||||
|
instance Ord1 EqualityConstraint where liftCompare = genericLiftCompare
|
||||||
|
instance Show1 EqualityConstraint where liftShowsPrec = genericLiftShowsPrec
|
||||||
|
|
||||||
|
instance Evaluatable EqualityConstraint
|
||||||
|
|
||||||
|
data EntityIdentifier a = TypeVariableIdentifier Name
|
||||||
|
| TypeConstructorIdentifier Name
|
||||||
|
| ModuleIdentifier Name
|
||||||
|
| ConstructorIdentifier Name
|
||||||
|
| TypeClassIdentifier Name
|
||||||
|
| VariableIdentifier Name
|
||||||
|
| PrimitiveConstructorIdentifier Name
|
||||||
|
deriving (Declarations1, Diffable, Eq, Foldable, FreeVariables1, Functor, Generic1, Hashable1, Mergeable, Ord, Show, ToJSONFields1, Traversable)
|
||||||
|
|
||||||
|
instance Eq1 EntityIdentifier where liftEq = genericLiftEq
|
||||||
|
instance Ord1 EntityIdentifier where liftCompare = genericLiftCompare
|
||||||
|
instance Show1 EntityIdentifier where liftShowsPrec = genericLiftShowsPrec
|
||||||
|
|
||||||
|
instance Evaluatable EntityIdentifier
|
||||||
|
|
||||||
|
data Operator a = VariableOperator a
|
||||||
|
| ConstructorOperator a
|
||||||
|
| TypeOperator Name
|
||||||
|
deriving (Declarations1, Diffable, Eq, Foldable, FreeVariables1, Functor, Generic1, Hashable1, Mergeable, Ord, Show, ToJSONFields1, Traversable)
|
||||||
|
|
||||||
|
instance Eq1 Operator where liftEq = genericLiftEq
|
||||||
|
instance Ord1 Operator where liftCompare = genericLiftCompare
|
||||||
|
instance Show1 Operator where liftShowsPrec = genericLiftShowsPrec
|
||||||
|
|
||||||
|
instance Evaluatable Operator
|
||||||
|
|
||||||
|
newtype ConstructorSymbol a = ConstructorSymbol { constructorSymbolName :: Name }
|
||||||
|
deriving (Declarations1, Diffable, Eq, Foldable, FreeVariables1, Functor, Generic1, Hashable1, Mergeable, Ord, Show, ToJSONFields1, Traversable)
|
||||||
|
|
||||||
|
instance Eq1 ConstructorSymbol where liftEq = genericLiftEq
|
||||||
|
instance Ord1 ConstructorSymbol where liftCompare = genericLiftCompare
|
||||||
|
instance Show1 ConstructorSymbol where liftShowsPrec = genericLiftShowsPrec
|
||||||
|
|
||||||
|
instance Evaluatable ConstructorSymbol
|
||||||
|
|
||||||
|
newtype VariableSymbol a = VariableSymbol { variableSymbolName :: Name }
|
||||||
|
deriving (Declarations1, Diffable, Eq, Foldable, FreeVariables1, Functor, Generic1, Hashable1, Mergeable, Ord, Show, ToJSONFields1, Traversable)
|
||||||
|
|
||||||
|
instance Eq1 VariableSymbol where liftEq = genericLiftEq
|
||||||
|
instance Ord1 VariableSymbol where liftCompare = genericLiftCompare
|
||||||
|
instance Show1 VariableSymbol where liftShowsPrec = genericLiftShowsPrec
|
||||||
|
|
||||||
|
instance Evaluatable VariableSymbol
|
||||||
|
@ -16,7 +16,6 @@
|
|||||||
{+(SendChannel
|
{+(SendChannel
|
||||||
{+(SendChannel
|
{+(SendChannel
|
||||||
{+(Constructor
|
{+(Constructor
|
||||||
{+(Empty)+}
|
|
||||||
{+(Empty)+}
|
{+(Empty)+}
|
||||||
{+(Statements)+})+})+})+})+}
|
{+(Statements)+})+})+})+})+}
|
||||||
{+(Type
|
{+(Type
|
||||||
@ -45,7 +44,6 @@
|
|||||||
{-(SendChannel
|
{-(SendChannel
|
||||||
{-(SendChannel
|
{-(SendChannel
|
||||||
{-(Constructor
|
{-(Constructor
|
||||||
{-(Empty)-}
|
|
||||||
{-(Empty)-}
|
{-(Empty)-}
|
||||||
{-(Statements)-})-})-})-})-}
|
{-(Statements)-})-})-})-})-}
|
||||||
{-(Type
|
{-(Type
|
||||||
|
@ -16,7 +16,6 @@
|
|||||||
{+(SendChannel
|
{+(SendChannel
|
||||||
{+(SendChannel
|
{+(SendChannel
|
||||||
{+(Constructor
|
{+(Constructor
|
||||||
{+(Empty)+}
|
|
||||||
{+(Empty)+}
|
{+(Empty)+}
|
||||||
{+(Statements)+})+})+})+})+}
|
{+(Statements)+})+})+})+})+}
|
||||||
{+(Type
|
{+(Type
|
||||||
@ -45,7 +44,6 @@
|
|||||||
{-(SendChannel
|
{-(SendChannel
|
||||||
{-(SendChannel
|
{-(SendChannel
|
||||||
{-(Constructor
|
{-(Constructor
|
||||||
{-(Empty)-}
|
|
||||||
{-(Empty)-}
|
{-(Empty)-}
|
||||||
{-(Statements)-})-})-})-})-}
|
{-(Statements)-})-})-})-})-}
|
||||||
{-(Type
|
{-(Type
|
||||||
|
@ -16,7 +16,6 @@
|
|||||||
(SendChannel
|
(SendChannel
|
||||||
(SendChannel
|
(SendChannel
|
||||||
(Constructor
|
(Constructor
|
||||||
(Empty)
|
|
||||||
(Empty)
|
(Empty)
|
||||||
(Statements)))))
|
(Statements)))))
|
||||||
(Type
|
(Type
|
||||||
|
@ -16,7 +16,6 @@
|
|||||||
(SendChannel
|
(SendChannel
|
||||||
(SendChannel
|
(SendChannel
|
||||||
(Constructor
|
(Constructor
|
||||||
(Empty)
|
|
||||||
(Empty)
|
(Empty)
|
||||||
(Statements)))))
|
(Statements)))))
|
||||||
(Type
|
(Type
|
||||||
|
@ -9,7 +9,6 @@
|
|||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(Identifier)
|
||||||
(Constructor
|
(Constructor
|
||||||
(Empty)
|
|
||||||
(Empty)
|
(Empty)
|
||||||
(Field
|
(Field
|
||||||
(Identifier)
|
(Identifier)
|
||||||
|
@ -9,7 +9,6 @@
|
|||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(Identifier)
|
||||||
(Constructor
|
(Constructor
|
||||||
(Empty)
|
|
||||||
(Empty)
|
(Empty)
|
||||||
(Field
|
(Field
|
||||||
(Identifier)
|
(Identifier)
|
||||||
|
@ -9,7 +9,6 @@
|
|||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(Identifier)
|
||||||
(Constructor
|
(Constructor
|
||||||
(Empty)
|
|
||||||
(Empty)
|
(Empty)
|
||||||
(Field
|
(Field
|
||||||
(Identifier)
|
(Identifier)
|
||||||
|
@ -9,7 +9,6 @@
|
|||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(Identifier)
|
||||||
(Constructor
|
(Constructor
|
||||||
(Empty)
|
|
||||||
(Empty)
|
(Empty)
|
||||||
(Field
|
(Field
|
||||||
(Identifier)
|
(Identifier)
|
||||||
|
@ -22,7 +22,6 @@
|
|||||||
(Identifier)
|
(Identifier)
|
||||||
(Composite
|
(Composite
|
||||||
(Constructor
|
(Constructor
|
||||||
(Empty)
|
|
||||||
(Empty)
|
(Empty)
|
||||||
(Field
|
(Field
|
||||||
{ (Identifier)
|
{ (Identifier)
|
||||||
|
@ -22,7 +22,6 @@
|
|||||||
(Identifier)
|
(Identifier)
|
||||||
(Composite
|
(Composite
|
||||||
(Constructor
|
(Constructor
|
||||||
(Empty)
|
|
||||||
(Empty)
|
(Empty)
|
||||||
(Field
|
(Field
|
||||||
{ (Identifier)
|
{ (Identifier)
|
||||||
|
@ -21,7 +21,6 @@
|
|||||||
(Identifier)
|
(Identifier)
|
||||||
(Composite
|
(Composite
|
||||||
(Constructor
|
(Constructor
|
||||||
(Empty)
|
|
||||||
(Empty)
|
(Empty)
|
||||||
(Field
|
(Field
|
||||||
(Identifier)
|
(Identifier)
|
||||||
|
@ -21,7 +21,6 @@
|
|||||||
(Identifier)
|
(Identifier)
|
||||||
(Composite
|
(Composite
|
||||||
(Constructor
|
(Constructor
|
||||||
(Empty)
|
|
||||||
(Empty)
|
(Empty)
|
||||||
(Field
|
(Field
|
||||||
(Identifier)
|
(Identifier)
|
||||||
|
@ -11,7 +11,6 @@
|
|||||||
{ (Identifier)
|
{ (Identifier)
|
||||||
->(Identifier) }
|
->(Identifier) }
|
||||||
(Constructor
|
(Constructor
|
||||||
(Empty)
|
|
||||||
(Empty)
|
(Empty)
|
||||||
(Statements))))
|
(Statements))))
|
||||||
(Statements
|
(Statements
|
||||||
@ -19,7 +18,6 @@
|
|||||||
{ (Identifier)
|
{ (Identifier)
|
||||||
->(Identifier) }
|
->(Identifier) }
|
||||||
(Constructor
|
(Constructor
|
||||||
(Empty)
|
|
||||||
(Empty)
|
(Empty)
|
||||||
(Field
|
(Field
|
||||||
(Identifier)
|
(Identifier)
|
||||||
@ -29,7 +27,6 @@
|
|||||||
{ (Identifier)
|
{ (Identifier)
|
||||||
->(Identifier) }
|
->(Identifier) }
|
||||||
(Constructor
|
(Constructor
|
||||||
(Empty)
|
|
||||||
(Empty)
|
(Empty)
|
||||||
(Field
|
(Field
|
||||||
(Identifier)
|
(Identifier)
|
||||||
@ -41,7 +38,6 @@
|
|||||||
{ (Identifier)
|
{ (Identifier)
|
||||||
->(Identifier) }
|
->(Identifier) }
|
||||||
(Constructor
|
(Constructor
|
||||||
(Empty)
|
|
||||||
(Empty)
|
(Empty)
|
||||||
(Statements
|
(Statements
|
||||||
(Field
|
(Field
|
||||||
|
@ -11,7 +11,6 @@
|
|||||||
{ (Identifier)
|
{ (Identifier)
|
||||||
->(Identifier) }
|
->(Identifier) }
|
||||||
(Constructor
|
(Constructor
|
||||||
(Empty)
|
|
||||||
(Empty)
|
(Empty)
|
||||||
(Statements))))
|
(Statements))))
|
||||||
(Statements
|
(Statements
|
||||||
@ -19,7 +18,6 @@
|
|||||||
{ (Identifier)
|
{ (Identifier)
|
||||||
->(Identifier) }
|
->(Identifier) }
|
||||||
(Constructor
|
(Constructor
|
||||||
(Empty)
|
|
||||||
(Empty)
|
(Empty)
|
||||||
(Field
|
(Field
|
||||||
(Identifier)
|
(Identifier)
|
||||||
@ -29,7 +27,6 @@
|
|||||||
{ (Identifier)
|
{ (Identifier)
|
||||||
->(Identifier) }
|
->(Identifier) }
|
||||||
(Constructor
|
(Constructor
|
||||||
(Empty)
|
|
||||||
(Empty)
|
(Empty)
|
||||||
(Field
|
(Field
|
||||||
(Identifier)
|
(Identifier)
|
||||||
@ -41,7 +38,6 @@
|
|||||||
{ (Identifier)
|
{ (Identifier)
|
||||||
->(Identifier) }
|
->(Identifier) }
|
||||||
(Constructor
|
(Constructor
|
||||||
(Empty)
|
|
||||||
(Empty)
|
(Empty)
|
||||||
(Statements
|
(Statements
|
||||||
(Field
|
(Field
|
||||||
|
@ -10,14 +10,12 @@
|
|||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(Identifier)
|
||||||
(Constructor
|
(Constructor
|
||||||
(Empty)
|
|
||||||
(Empty)
|
(Empty)
|
||||||
(Statements))))
|
(Statements))))
|
||||||
(Statements
|
(Statements
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(Identifier)
|
||||||
(Constructor
|
(Constructor
|
||||||
(Empty)
|
|
||||||
(Empty)
|
(Empty)
|
||||||
(Field
|
(Field
|
||||||
(Identifier)
|
(Identifier)
|
||||||
@ -26,7 +24,6 @@
|
|||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(Identifier)
|
||||||
(Constructor
|
(Constructor
|
||||||
(Empty)
|
|
||||||
(Empty)
|
(Empty)
|
||||||
(Field
|
(Field
|
||||||
(Identifier)
|
(Identifier)
|
||||||
@ -37,7 +34,6 @@
|
|||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(Identifier)
|
||||||
(Constructor
|
(Constructor
|
||||||
(Empty)
|
|
||||||
(Empty)
|
(Empty)
|
||||||
(Statements
|
(Statements
|
||||||
(Field
|
(Field
|
||||||
|
@ -10,14 +10,12 @@
|
|||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(Identifier)
|
||||||
(Constructor
|
(Constructor
|
||||||
(Empty)
|
|
||||||
(Empty)
|
(Empty)
|
||||||
(Statements))))
|
(Statements))))
|
||||||
(Statements
|
(Statements
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(Identifier)
|
||||||
(Constructor
|
(Constructor
|
||||||
(Empty)
|
|
||||||
(Empty)
|
(Empty)
|
||||||
(Field
|
(Field
|
||||||
(Identifier)
|
(Identifier)
|
||||||
@ -26,7 +24,6 @@
|
|||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(Identifier)
|
||||||
(Constructor
|
(Constructor
|
||||||
(Empty)
|
|
||||||
(Empty)
|
(Empty)
|
||||||
(Field
|
(Field
|
||||||
(Identifier)
|
(Identifier)
|
||||||
@ -37,7 +34,6 @@
|
|||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(Identifier)
|
||||||
(Constructor
|
(Constructor
|
||||||
(Empty)
|
|
||||||
(Empty)
|
(Empty)
|
||||||
(Statements
|
(Statements
|
||||||
(Field
|
(Field
|
||||||
|
@ -30,7 +30,6 @@
|
|||||||
{ (Identifier)
|
{ (Identifier)
|
||||||
->(Identifier) }
|
->(Identifier) }
|
||||||
(Constructor
|
(Constructor
|
||||||
(Empty)
|
|
||||||
(Empty)
|
(Empty)
|
||||||
(Statements
|
(Statements
|
||||||
(Field
|
(Field
|
||||||
|
@ -30,7 +30,6 @@
|
|||||||
{ (Identifier)
|
{ (Identifier)
|
||||||
->(Identifier) }
|
->(Identifier) }
|
||||||
(Constructor
|
(Constructor
|
||||||
(Empty)
|
|
||||||
(Empty)
|
(Empty)
|
||||||
(Statements
|
(Statements
|
||||||
(Field
|
(Field
|
||||||
|
@ -23,7 +23,6 @@
|
|||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(Identifier)
|
||||||
(Constructor
|
(Constructor
|
||||||
(Empty)
|
|
||||||
(Empty)
|
(Empty)
|
||||||
(Statements
|
(Statements
|
||||||
(Field
|
(Field
|
||||||
|
@ -23,7 +23,6 @@
|
|||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(Identifier)
|
||||||
(Constructor
|
(Constructor
|
||||||
(Empty)
|
|
||||||
(Empty)
|
(Empty)
|
||||||
(Statements
|
(Statements
|
||||||
(Field
|
(Field
|
||||||
|
@ -26,3 +26,7 @@ data (Eq (f a), Functor f) => N f a = N f a
|
|||||||
|
|
||||||
data Foo bar = HasCallStack => Foo bar
|
data Foo bar = HasCallStack => Foo bar
|
||||||
data Baz foo = Show foo => Baz foo
|
data Baz foo = Show foo => Baz foo
|
||||||
|
|
||||||
|
data Foo = Foo !Double#
|
||||||
|
|
||||||
|
data SomeNumber = forall a . Show a => SomeNumber (Number a)
|
||||||
|
@ -26,3 +26,8 @@ data (Eq (f a), Applicative f) => N f a = N f a
|
|||||||
|
|
||||||
data Foo bar = HasCallStack => Wiz bar
|
data Foo bar = HasCallStack => Wiz bar
|
||||||
data Baz a = Show a => Baz a
|
data Baz a = Show a => Baz a
|
||||||
|
|
||||||
|
|
||||||
|
data Bar = Bar !Double#
|
||||||
|
|
||||||
|
data SomeNumber = forall b . Show b => SomeNumber (Number b)
|
||||||
|
@ -4,420 +4,453 @@
|
|||||||
(Datatype
|
(Datatype
|
||||||
(Empty)
|
(Empty)
|
||||||
(Type
|
(Type
|
||||||
{ (Identifier)
|
{ (TypeConstructorIdentifier)
|
||||||
->(Identifier) }
|
->(TypeConstructorIdentifier) }
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty))
|
(Empty))
|
||||||
(Empty))
|
(Empty))
|
||||||
(Datatype
|
(Datatype
|
||||||
(Empty)
|
(Empty)
|
||||||
(Type
|
(Type
|
||||||
{ (Identifier)
|
{ (TypeConstructorIdentifier)
|
||||||
->(Identifier) }
|
->(TypeConstructorIdentifier) }
|
||||||
(TypeParameters
|
(TypeParameters
|
||||||
(Identifier))
|
(TypeVariableIdentifier))
|
||||||
(Empty))
|
(Empty))
|
||||||
(Constructor
|
(Constructor
|
||||||
(Empty)
|
{ (ConstructorIdentifier)
|
||||||
{ (Identifier)
|
->(ConstructorIdentifier) }
|
||||||
->(Identifier) }
|
|
||||||
(TypeParameters
|
(TypeParameters
|
||||||
(Identifier)))
|
(TypeVariableIdentifier)))
|
||||||
(Empty))
|
(Empty))
|
||||||
(Datatype
|
(Datatype
|
||||||
(Empty)
|
(Empty)
|
||||||
(Type
|
(Type
|
||||||
{ (Identifier)
|
{ (TypeConstructorIdentifier)
|
||||||
->(Identifier) }
|
->(TypeConstructorIdentifier) }
|
||||||
(TypeParameters
|
(TypeParameters
|
||||||
(Identifier))
|
(TypeVariableIdentifier))
|
||||||
(Empty))
|
(Empty))
|
||||||
(Constructor
|
(Constructor
|
||||||
(Empty)
|
{ (ConstructorIdentifier)
|
||||||
{ (Identifier)
|
->(ConstructorIdentifier) }
|
||||||
->(Identifier) }
|
|
||||||
(TypeParameters
|
(TypeParameters
|
||||||
(StrictTypeVariable
|
(StrictTypeVariable
|
||||||
(Identifier))))
|
(TypeVariableIdentifier))))
|
||||||
(Empty))
|
(Empty))
|
||||||
(Datatype
|
(Datatype
|
||||||
(Empty)
|
(Empty)
|
||||||
(Type
|
(Type
|
||||||
{ (Identifier)
|
{ (TypeConstructorIdentifier)
|
||||||
->(Identifier) }
|
->(TypeConstructorIdentifier) }
|
||||||
(TypeParameters
|
(TypeParameters
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(Identifier))
|
(TypeVariableIdentifier))
|
||||||
(Empty))
|
(Empty))
|
||||||
(Constructor
|
(Constructor
|
||||||
(Empty)
|
{ (ConstructorIdentifier)
|
||||||
{ (Identifier)
|
->(ConstructorIdentifier) }
|
||||||
->(Identifier) }
|
|
||||||
(TypeParameters
|
(TypeParameters
|
||||||
(StrictTypeVariable
|
(StrictTypeVariable
|
||||||
(Identifier))
|
(TypeVariableIdentifier))
|
||||||
(Identifier)))
|
(TypeVariableIdentifier)))
|
||||||
(Empty))
|
(Empty))
|
||||||
(Datatype
|
(Datatype
|
||||||
(Empty)
|
(Empty)
|
||||||
(Type
|
(Type
|
||||||
{ (Identifier)
|
{ (TypeConstructorIdentifier)
|
||||||
->(Identifier) }
|
->(TypeConstructorIdentifier) }
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty))
|
(Empty))
|
||||||
(Constructor
|
(Constructor
|
||||||
(Empty)
|
{ (ConstructorIdentifier)
|
||||||
{ (Identifier)
|
->(ConstructorIdentifier) }
|
||||||
->(Identifier) }
|
|
||||||
(TypeParameters))
|
|
||||||
(Constructor
|
|
||||||
(Empty)
|
|
||||||
{ (Identifier)
|
|
||||||
->(Identifier) }
|
|
||||||
(TypeParameters))
|
|
||||||
(Constructor
|
|
||||||
(Empty)
|
|
||||||
{ (Identifier)
|
|
||||||
->(Identifier) }
|
|
||||||
(TypeParameters))
|
(TypeParameters))
|
||||||
{+(Constructor
|
{+(Constructor
|
||||||
{+(Empty)+}
|
{+(ConstructorIdentifier)+}
|
||||||
{+(Identifier)+}
|
|
||||||
{+(TypeParameters)+})+}
|
{+(TypeParameters)+})+}
|
||||||
{+(Constructor
|
{+(Constructor
|
||||||
{+(Empty)+}
|
{+(ConstructorIdentifier)+}
|
||||||
{+(Identifier)+}
|
|
||||||
{+(TypeParameters)+})+}
|
{+(TypeParameters)+})+}
|
||||||
{+(Constructor
|
{+(Constructor
|
||||||
{+(Empty)+}
|
{+(ConstructorIdentifier)+}
|
||||||
{+(Identifier)+}
|
{+(TypeParameters)+})+}
|
||||||
|
{+(Constructor
|
||||||
|
{+(ConstructorIdentifier)+}
|
||||||
|
{+(TypeParameters)+})+}
|
||||||
|
{+(Constructor
|
||||||
|
{+(ConstructorIdentifier)+}
|
||||||
{+(TypeParameters)+})+}
|
{+(TypeParameters)+})+}
|
||||||
{-(Constructor
|
{-(Constructor
|
||||||
{-(Empty)-}
|
{-(ConstructorIdentifier)-}
|
||||||
{-(Identifier)-}
|
|
||||||
{-(TypeParameters)-})-}
|
{-(TypeParameters)-})-}
|
||||||
{-(Constructor
|
{-(Constructor
|
||||||
{-(Empty)-}
|
{-(ConstructorIdentifier)-}
|
||||||
{-(Identifier)-}
|
|
||||||
{-(TypeParameters)-})-}
|
{-(TypeParameters)-})-}
|
||||||
{-(Constructor
|
{-(Constructor
|
||||||
{-(Empty)-}
|
{-(ConstructorIdentifier)-}
|
||||||
{-(Identifier)-}
|
{-(TypeParameters)-})-}
|
||||||
|
{-(Constructor
|
||||||
|
{-(ConstructorIdentifier)-}
|
||||||
|
{-(TypeParameters)-})-}
|
||||||
|
{-(Constructor
|
||||||
|
{-(ConstructorIdentifier)-}
|
||||||
{-(TypeParameters)-})-}
|
{-(TypeParameters)-})-}
|
||||||
(Empty))
|
(Empty))
|
||||||
(Datatype
|
(Datatype
|
||||||
(Empty)
|
(Empty)
|
||||||
(Type
|
(Type
|
||||||
{ (Identifier)
|
{ (TypeConstructorIdentifier)
|
||||||
->(Identifier) }
|
->(TypeConstructorIdentifier) }
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty))
|
(Empty))
|
||||||
(RecordDataConstructor
|
(RecordDataConstructor
|
||||||
{ (Identifier)
|
{ (ConstructorIdentifier)
|
||||||
->(Identifier) }
|
->(ConstructorIdentifier) }
|
||||||
(Statements
|
(Statements
|
||||||
(Field
|
(Field
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier))
|
(VariableIdentifier))
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty)))))
|
(Empty)))))
|
||||||
(Empty))
|
(Empty))
|
||||||
(Datatype
|
(Datatype
|
||||||
(Empty)
|
(Empty)
|
||||||
(Type
|
(Type
|
||||||
{ (Identifier)
|
{ (TypeConstructorIdentifier)
|
||||||
->(Identifier) }
|
->(TypeConstructorIdentifier) }
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty))
|
(Empty))
|
||||||
(RecordDataConstructor
|
(RecordDataConstructor
|
||||||
{ (Identifier)
|
{ (ConstructorIdentifier)
|
||||||
->(Identifier) }
|
->(ConstructorIdentifier) }
|
||||||
(Statements
|
(Statements
|
||||||
(Field
|
(Field
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Identifier))
|
(VariableIdentifier))
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty)))))
|
(Empty)))))
|
||||||
(Empty))
|
(Empty))
|
||||||
(Datatype
|
(Datatype
|
||||||
(Empty)
|
(Empty)
|
||||||
(Type
|
(Type
|
||||||
{ (Identifier)
|
{ (TypeConstructorIdentifier)
|
||||||
->(Identifier) }
|
->(TypeConstructorIdentifier) }
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty))
|
(Empty))
|
||||||
(RecordDataConstructor
|
(RecordDataConstructor
|
||||||
{ (Identifier)
|
{ (ConstructorIdentifier)
|
||||||
->(Identifier) }
|
->(ConstructorIdentifier) }
|
||||||
(Statements
|
(Statements
|
||||||
(Field
|
(Field
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier))
|
(VariableIdentifier))
|
||||||
(Type
|
(Type
|
||||||
(StrictType
|
(StrictType
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters))
|
(TypeParameters))
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty)))
|
(Empty)))
|
||||||
(Field
|
(Field
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier))
|
(VariableIdentifier))
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty)))))
|
(Empty)))))
|
||||||
(Empty))
|
(Empty))
|
||||||
(Datatype
|
(Datatype
|
||||||
(Empty)
|
(Empty)
|
||||||
(Type
|
(Type
|
||||||
{ (Identifier)
|
{ (TypeConstructorIdentifier)
|
||||||
->(Identifier) }
|
->(TypeConstructorIdentifier) }
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty))
|
(Empty))
|
||||||
(RecordDataConstructor
|
(RecordDataConstructor
|
||||||
{ (Identifier)
|
{ (ConstructorIdentifier)
|
||||||
->(Identifier) }
|
->(ConstructorIdentifier) }
|
||||||
(Statements
|
(Statements
|
||||||
(Field
|
(Field
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Identifier))
|
(VariableIdentifier))
|
||||||
(Type
|
(Type
|
||||||
(Context
|
(Context
|
||||||
(Pragma)
|
(Pragma)
|
||||||
(StrictType
|
(StrictType
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters)))
|
(TypeParameters)))
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty)))
|
(Empty)))
|
||||||
(Field
|
(Field
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier))
|
(VariableIdentifier))
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty)))))
|
(Empty)))))
|
||||||
(Empty))
|
(Empty))
|
||||||
{-(Datatype
|
{-(Datatype
|
||||||
{-(Empty)-}
|
{-(Empty)-}
|
||||||
{-(Type
|
{-(Type
|
||||||
{-(Identifier)-}
|
{-(TypeConstructorIdentifier)-}
|
||||||
{-(TypeParameters)-}
|
{-(TypeParameters)-}
|
||||||
{-(Empty)-})-}
|
{-(Empty)-})-}
|
||||||
{-(RecordDataConstructor
|
{-(RecordDataConstructor
|
||||||
{-(Identifier)-}
|
{-(ConstructorIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Field
|
{-(Field
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Identifier)-})-}
|
{-(VariableIdentifier)-})-}
|
||||||
{-(Type
|
{-(Type
|
||||||
{-(Identifier)-}
|
{-(TypeConstructorIdentifier)-}
|
||||||
{-(TypeParameters)-}
|
{-(TypeParameters)-}
|
||||||
{-(Empty)-})-})-})-})-}
|
{-(Empty)-})-})-})-})-}
|
||||||
{-(RecordDataConstructor
|
{-(RecordDataConstructor
|
||||||
{-(Identifier)-}
|
{-(ConstructorIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Field
|
{-(Field
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Identifier)-})-}
|
{-(VariableIdentifier)-})-}
|
||||||
{-(Type
|
{-(Type
|
||||||
{-(Identifier)-}
|
{-(TypeConstructorIdentifier)-}
|
||||||
{-(TypeParameters)-}
|
{-(TypeParameters)-}
|
||||||
{-(Empty)-})-})-})-})-}
|
{-(Empty)-})-})-})-})-}
|
||||||
{-(Empty)-})-}
|
{-(Empty)-})-}
|
||||||
(Datatype
|
(Datatype
|
||||||
(Empty)
|
(Empty)
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty))
|
(Empty))
|
||||||
(RecordDataConstructor
|
(RecordDataConstructor
|
||||||
(Identifier)
|
(ConstructorIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Field
|
(Field
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier))
|
(VariableIdentifier))
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty)))))
|
(Empty)))))
|
||||||
(RecordDataConstructor
|
(RecordDataConstructor
|
||||||
(Identifier)
|
(ConstructorIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Field
|
(Field
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier))
|
(VariableIdentifier))
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty)))))
|
(Empty)))))
|
||||||
(Empty))
|
(Empty))
|
||||||
{+(Datatype
|
{+(Datatype
|
||||||
{+(Empty)+}
|
{+(Empty)+}
|
||||||
{+(Type
|
{+(Type
|
||||||
{+(Identifier)+}
|
{+(TypeConstructorIdentifier)+}
|
||||||
{+(TypeParameters)+}
|
{+(TypeParameters)+}
|
||||||
{+(Empty)+})+}
|
{+(Empty)+})+}
|
||||||
{+(RecordDataConstructor
|
{+(RecordDataConstructor
|
||||||
{+(Identifier)+}
|
{+(ConstructorIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Field
|
{+(Field
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Identifier)+})+}
|
{+(VariableIdentifier)+})+}
|
||||||
{+(Type
|
{+(Type
|
||||||
{+(Identifier)+}
|
{+(TypeConstructorIdentifier)+}
|
||||||
{+(TypeParameters)+}
|
{+(TypeParameters)+}
|
||||||
{+(Empty)+})+})+})+})+}
|
{+(Empty)+})+})+})+})+}
|
||||||
{+(RecordDataConstructor
|
{+(RecordDataConstructor
|
||||||
{+(Identifier)+}
|
{+(ConstructorIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Field
|
{+(Field
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Identifier)+})+}
|
{+(VariableIdentifier)+})+}
|
||||||
{+(Type
|
{+(Type
|
||||||
{+(Identifier)+}
|
{+(TypeConstructorIdentifier)+}
|
||||||
{+(TypeParameters)+}
|
{+(TypeParameters)+}
|
||||||
{+(Empty)+})+})+})+})+}
|
{+(Empty)+})+})+})+})+}
|
||||||
{+(Empty)+})+}
|
{+(Empty)+})+}
|
||||||
(Datatype
|
(Datatype
|
||||||
(Empty)
|
(Empty)
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty))
|
(Empty))
|
||||||
(Constructor
|
(Constructor
|
||||||
(Empty)
|
(ConstructorIdentifier)
|
||||||
(Identifier)
|
|
||||||
(TypeParameters))
|
(TypeParameters))
|
||||||
(Deriving
|
(Deriving
|
||||||
(Identifier)))
|
(TypeClassIdentifier)))
|
||||||
(Datatype
|
(Datatype
|
||||||
(Empty)
|
(Empty)
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty))
|
(Empty))
|
||||||
(Constructor
|
(Constructor
|
||||||
(Empty)
|
(ConstructorIdentifier)
|
||||||
(Identifier)
|
|
||||||
(TypeParameters))
|
(TypeParameters))
|
||||||
(Deriving
|
(Deriving
|
||||||
{ (Identifier)
|
{ (TypeClassIdentifier)
|
||||||
->(Identifier) }
|
->(TypeClassIdentifier) }
|
||||||
(Identifier)
|
(TypeClassIdentifier)
|
||||||
(Identifier)
|
(TypeClassIdentifier)
|
||||||
(Identifier)
|
(TypeClassIdentifier)
|
||||||
(Identifier)
|
(TypeClassIdentifier)
|
||||||
(Identifier)))
|
(TypeClassIdentifier)))
|
||||||
(Datatype
|
(Datatype
|
||||||
(Context'
|
(Context'
|
||||||
(Class
|
(Statements
|
||||||
{ (Identifier)
|
|
||||||
->(Identifier) }
|
|
||||||
(TypeParameters
|
|
||||||
(Identifier))))
|
|
||||||
(Type
|
|
||||||
(Identifier)
|
|
||||||
(TypeParameters
|
|
||||||
(Identifier))
|
|
||||||
(Empty))
|
|
||||||
(Constructor
|
|
||||||
(Empty)
|
|
||||||
(Identifier)
|
|
||||||
(TypeParameters
|
|
||||||
(Identifier)))
|
|
||||||
(Empty))
|
|
||||||
(Datatype
|
|
||||||
(Context'
|
|
||||||
(Class
|
|
||||||
{ (Identifier)
|
|
||||||
->(Identifier) }
|
|
||||||
(TypeParameters
|
|
||||||
(Identifier)))
|
|
||||||
(Class
|
|
||||||
(Identifier)
|
|
||||||
(TypeParameters
|
|
||||||
(Identifier)))
|
|
||||||
(Class
|
|
||||||
(Identifier)
|
|
||||||
(TypeParameters
|
|
||||||
(Identifier))))
|
|
||||||
(Type
|
|
||||||
(Identifier)
|
|
||||||
(TypeParameters
|
|
||||||
(Identifier)
|
|
||||||
(Identifier))
|
|
||||||
(Empty))
|
|
||||||
(Constructor
|
|
||||||
(Empty)
|
|
||||||
(Identifier)
|
|
||||||
(TypeParameters
|
|
||||||
(Identifier)
|
|
||||||
(Identifier)))
|
|
||||||
(Empty))
|
|
||||||
(Datatype
|
|
||||||
(Context'
|
|
||||||
(Class
|
|
||||||
(Identifier)
|
|
||||||
(TypeParameters
|
|
||||||
(Statements
|
|
||||||
(Identifier)
|
|
||||||
(Identifier))))
|
|
||||||
(Class
|
|
||||||
{ (Identifier)
|
|
||||||
->(Identifier) }
|
|
||||||
(TypeParameters
|
|
||||||
(Identifier))))
|
|
||||||
(Type
|
|
||||||
(Identifier)
|
|
||||||
(TypeParameters
|
|
||||||
(Identifier)
|
|
||||||
(Identifier))
|
|
||||||
(Empty))
|
|
||||||
(Constructor
|
|
||||||
(Empty)
|
|
||||||
(Identifier)
|
|
||||||
(TypeParameters
|
|
||||||
(Identifier)
|
|
||||||
(Identifier)))
|
|
||||||
(Empty))
|
|
||||||
(Datatype
|
|
||||||
(Empty)
|
|
||||||
(Type
|
|
||||||
(Identifier)
|
|
||||||
(TypeParameters
|
|
||||||
(Identifier))
|
|
||||||
(Empty))
|
|
||||||
(Constructor
|
|
||||||
(Context'
|
|
||||||
(Identifier))
|
|
||||||
{ (Identifier)
|
|
||||||
->(Identifier) }
|
|
||||||
(TypeParameters
|
|
||||||
(Identifier)))
|
|
||||||
(Empty))
|
|
||||||
(Datatype
|
|
||||||
(Empty)
|
|
||||||
(Type
|
|
||||||
(Identifier)
|
|
||||||
(TypeParameters
|
|
||||||
{ (Identifier)
|
|
||||||
->(Identifier) })
|
|
||||||
(Empty))
|
|
||||||
(Constructor
|
|
||||||
(Context'
|
|
||||||
(Class
|
(Class
|
||||||
(Identifier)
|
{ (TypeClassIdentifier)
|
||||||
|
->(TypeClassIdentifier) }
|
||||||
(TypeParameters
|
(TypeParameters
|
||||||
{ (Identifier)
|
(TypeVariableIdentifier)))))
|
||||||
->(Identifier) })))
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters
|
(TypeParameters
|
||||||
{ (Identifier)
|
(TypeVariableIdentifier))
|
||||||
->(Identifier) }))
|
(Empty))
|
||||||
|
(Constructor
|
||||||
|
(ConstructorIdentifier)
|
||||||
|
(TypeParameters
|
||||||
|
(TypeVariableIdentifier)))
|
||||||
|
(Empty))
|
||||||
|
(Datatype
|
||||||
|
(Context'
|
||||||
|
(Statements
|
||||||
|
(Class
|
||||||
|
{ (TypeClassIdentifier)
|
||||||
|
->(TypeClassIdentifier) }
|
||||||
|
(TypeParameters
|
||||||
|
(TypeVariableIdentifier))))
|
||||||
|
(Statements
|
||||||
|
(Class
|
||||||
|
(TypeClassIdentifier)
|
||||||
|
(TypeParameters
|
||||||
|
(TypeVariableIdentifier))))
|
||||||
|
(Statements
|
||||||
|
(Class
|
||||||
|
(TypeClassIdentifier)
|
||||||
|
(TypeParameters
|
||||||
|
(TypeVariableIdentifier)))))
|
||||||
|
(Type
|
||||||
|
(TypeConstructorIdentifier)
|
||||||
|
(TypeParameters
|
||||||
|
(TypeVariableIdentifier)
|
||||||
|
(TypeVariableIdentifier))
|
||||||
|
(Empty))
|
||||||
|
(Constructor
|
||||||
|
(ConstructorIdentifier)
|
||||||
|
(TypeParameters
|
||||||
|
(TypeVariableIdentifier)
|
||||||
|
(TypeVariableIdentifier)))
|
||||||
|
(Empty))
|
||||||
|
(Datatype
|
||||||
|
(Context'
|
||||||
|
(Statements
|
||||||
|
(Class
|
||||||
|
(TypeClassIdentifier)
|
||||||
|
(TypeParameters
|
||||||
|
(Statements
|
||||||
|
(TypeVariableIdentifier)
|
||||||
|
(TypeVariableIdentifier)))))
|
||||||
|
(Statements
|
||||||
|
(Class
|
||||||
|
{ (TypeClassIdentifier)
|
||||||
|
->(TypeClassIdentifier) }
|
||||||
|
(TypeParameters
|
||||||
|
(TypeVariableIdentifier)))))
|
||||||
|
(Type
|
||||||
|
(TypeConstructorIdentifier)
|
||||||
|
(TypeParameters
|
||||||
|
(TypeVariableIdentifier)
|
||||||
|
(TypeVariableIdentifier))
|
||||||
|
(Empty))
|
||||||
|
(Constructor
|
||||||
|
(ConstructorIdentifier)
|
||||||
|
(TypeParameters
|
||||||
|
(TypeVariableIdentifier)
|
||||||
|
(TypeVariableIdentifier)))
|
||||||
|
(Empty))
|
||||||
|
(Datatype
|
||||||
|
(Empty)
|
||||||
|
(Type
|
||||||
|
(TypeConstructorIdentifier)
|
||||||
|
(TypeParameters
|
||||||
|
(TypeVariableIdentifier))
|
||||||
|
(Empty))
|
||||||
|
(Constructor
|
||||||
|
(Context'
|
||||||
|
(Statements
|
||||||
|
(TypeConstructorIdentifier)))
|
||||||
|
{ (ConstructorIdentifier)
|
||||||
|
->(ConstructorIdentifier) }
|
||||||
|
(TypeParameters
|
||||||
|
(TypeVariableIdentifier)))
|
||||||
|
(Empty))
|
||||||
|
(Datatype
|
||||||
|
(Empty)
|
||||||
|
(Type
|
||||||
|
(TypeConstructorIdentifier)
|
||||||
|
(TypeParameters
|
||||||
|
{ (TypeVariableIdentifier)
|
||||||
|
->(TypeVariableIdentifier) })
|
||||||
|
(Empty))
|
||||||
|
(Constructor
|
||||||
|
(Context'
|
||||||
|
(Statements
|
||||||
|
(Class
|
||||||
|
(TypeClassIdentifier)
|
||||||
|
(TypeParameters
|
||||||
|
{ (TypeVariableIdentifier)
|
||||||
|
->(TypeVariableIdentifier) }))))
|
||||||
|
(ConstructorIdentifier)
|
||||||
|
(TypeParameters
|
||||||
|
{ (TypeVariableIdentifier)
|
||||||
|
->(TypeVariableIdentifier) }))
|
||||||
|
(Empty))
|
||||||
|
(Datatype
|
||||||
|
(Empty)
|
||||||
|
(Type
|
||||||
|
{ (TypeConstructorIdentifier)
|
||||||
|
->(TypeConstructorIdentifier) }
|
||||||
|
(TypeParameters)
|
||||||
|
(Empty))
|
||||||
|
(Constructor
|
||||||
|
{ (ConstructorIdentifier)
|
||||||
|
->(ConstructorIdentifier) }
|
||||||
|
(TypeParameters
|
||||||
|
(StrictTypeVariable
|
||||||
|
(PrimitiveConstructorIdentifier))))
|
||||||
|
(Empty))
|
||||||
|
(Datatype
|
||||||
|
(Empty)
|
||||||
|
(Type
|
||||||
|
(TypeConstructorIdentifier)
|
||||||
|
(TypeParameters)
|
||||||
|
(Empty))
|
||||||
|
(Constructor
|
||||||
|
(ScopedTypeVariables
|
||||||
|
{ (TypeVariableIdentifier)
|
||||||
|
->(TypeVariableIdentifier) })
|
||||||
|
(Context'
|
||||||
|
(Statements
|
||||||
|
(Class
|
||||||
|
(TypeClassIdentifier)
|
||||||
|
(TypeParameters
|
||||||
|
{ (TypeVariableIdentifier)
|
||||||
|
->(TypeVariableIdentifier) }))))
|
||||||
|
(ConstructorIdentifier)
|
||||||
|
(TypeParameters
|
||||||
|
(Statements
|
||||||
|
(TypeConstructorIdentifier)
|
||||||
|
{ (TypeVariableIdentifier)
|
||||||
|
->(TypeVariableIdentifier) })))
|
||||||
(Empty))))
|
(Empty))))
|
||||||
|
@ -4,417 +4,449 @@
|
|||||||
(Datatype
|
(Datatype
|
||||||
(Empty)
|
(Empty)
|
||||||
(Type
|
(Type
|
||||||
{ (Identifier)
|
{ (TypeConstructorIdentifier)
|
||||||
->(Identifier) }
|
->(TypeConstructorIdentifier) }
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty))
|
(Empty))
|
||||||
(Empty))
|
(Empty))
|
||||||
(Datatype
|
(Datatype
|
||||||
(Empty)
|
(Empty)
|
||||||
(Type
|
(Type
|
||||||
{ (Identifier)
|
{ (TypeConstructorIdentifier)
|
||||||
->(Identifier) }
|
->(TypeConstructorIdentifier) }
|
||||||
(TypeParameters
|
(TypeParameters
|
||||||
(Identifier))
|
(TypeVariableIdentifier))
|
||||||
(Empty))
|
(Empty))
|
||||||
(Constructor
|
(Constructor
|
||||||
(Empty)
|
{ (ConstructorIdentifier)
|
||||||
{ (Identifier)
|
->(ConstructorIdentifier) }
|
||||||
->(Identifier) }
|
|
||||||
(TypeParameters
|
(TypeParameters
|
||||||
(Identifier)))
|
(TypeVariableIdentifier)))
|
||||||
(Empty))
|
(Empty))
|
||||||
(Datatype
|
(Datatype
|
||||||
(Empty)
|
(Empty)
|
||||||
(Type
|
(Type
|
||||||
{ (Identifier)
|
{ (TypeConstructorIdentifier)
|
||||||
->(Identifier) }
|
->(TypeConstructorIdentifier) }
|
||||||
(TypeParameters
|
(TypeParameters
|
||||||
(Identifier))
|
(TypeVariableIdentifier))
|
||||||
(Empty))
|
(Empty))
|
||||||
(Constructor
|
(Constructor
|
||||||
(Empty)
|
{ (ConstructorIdentifier)
|
||||||
{ (Identifier)
|
->(ConstructorIdentifier) }
|
||||||
->(Identifier) }
|
|
||||||
(TypeParameters
|
(TypeParameters
|
||||||
(StrictTypeVariable
|
(StrictTypeVariable
|
||||||
(Identifier))))
|
(TypeVariableIdentifier))))
|
||||||
(Empty))
|
(Empty))
|
||||||
(Datatype
|
(Datatype
|
||||||
(Empty)
|
(Empty)
|
||||||
(Type
|
(Type
|
||||||
{ (Identifier)
|
{ (TypeConstructorIdentifier)
|
||||||
->(Identifier) }
|
->(TypeConstructorIdentifier) }
|
||||||
(TypeParameters
|
(TypeParameters
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(Identifier))
|
(TypeVariableIdentifier))
|
||||||
(Empty))
|
(Empty))
|
||||||
(Constructor
|
(Constructor
|
||||||
(Empty)
|
{ (ConstructorIdentifier)
|
||||||
{ (Identifier)
|
->(ConstructorIdentifier) }
|
||||||
->(Identifier) }
|
|
||||||
(TypeParameters
|
(TypeParameters
|
||||||
(StrictTypeVariable
|
(StrictTypeVariable
|
||||||
(Identifier))
|
(TypeVariableIdentifier))
|
||||||
(Identifier)))
|
(TypeVariableIdentifier)))
|
||||||
(Empty))
|
(Empty))
|
||||||
(Datatype
|
(Datatype
|
||||||
(Empty)
|
(Empty)
|
||||||
(Type
|
(Type
|
||||||
{ (Identifier)
|
{ (TypeConstructorIdentifier)
|
||||||
->(Identifier) }
|
->(TypeConstructorIdentifier) }
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty))
|
(Empty))
|
||||||
(Constructor
|
(Constructor
|
||||||
(Empty)
|
{ (ConstructorIdentifier)
|
||||||
{ (Identifier)
|
->(ConstructorIdentifier) }
|
||||||
->(Identifier) }
|
|
||||||
(TypeParameters))
|
|
||||||
(Constructor
|
|
||||||
(Empty)
|
|
||||||
{ (Identifier)
|
|
||||||
->(Identifier) }
|
|
||||||
(TypeParameters))
|
|
||||||
(Constructor
|
|
||||||
(Empty)
|
|
||||||
{ (Identifier)
|
|
||||||
->(Identifier) }
|
|
||||||
(TypeParameters))
|
(TypeParameters))
|
||||||
{+(Constructor
|
{+(Constructor
|
||||||
{+(Empty)+}
|
{+(ConstructorIdentifier)+}
|
||||||
{+(Identifier)+}
|
|
||||||
{+(TypeParameters)+})+}
|
{+(TypeParameters)+})+}
|
||||||
{+(Constructor
|
{+(Constructor
|
||||||
{+(Empty)+}
|
{+(ConstructorIdentifier)+}
|
||||||
{+(Identifier)+}
|
|
||||||
{+(TypeParameters)+})+}
|
{+(TypeParameters)+})+}
|
||||||
(Constructor
|
(Constructor
|
||||||
(Empty)
|
{ (ConstructorIdentifier)
|
||||||
{ (Identifier)
|
->(ConstructorIdentifier) }
|
||||||
->(Identifier) }
|
(TypeParameters))
|
||||||
|
{+(Constructor
|
||||||
|
{+(ConstructorIdentifier)+}
|
||||||
|
{+(TypeParameters)+})+}
|
||||||
|
(Constructor
|
||||||
|
{ (ConstructorIdentifier)
|
||||||
|
->(ConstructorIdentifier) }
|
||||||
(TypeParameters))
|
(TypeParameters))
|
||||||
{-(Constructor
|
{-(Constructor
|
||||||
{-(Empty)-}
|
{-(ConstructorIdentifier)-}
|
||||||
{-(Identifier)-}
|
|
||||||
{-(TypeParameters)-})-}
|
{-(TypeParameters)-})-}
|
||||||
{-(Constructor
|
{-(Constructor
|
||||||
{-(Empty)-}
|
{-(ConstructorIdentifier)-}
|
||||||
{-(Identifier)-}
|
{-(TypeParameters)-})-}
|
||||||
|
{-(Constructor
|
||||||
|
{-(ConstructorIdentifier)-}
|
||||||
{-(TypeParameters)-})-}
|
{-(TypeParameters)-})-}
|
||||||
(Empty))
|
(Empty))
|
||||||
(Datatype
|
(Datatype
|
||||||
(Empty)
|
(Empty)
|
||||||
(Type
|
(Type
|
||||||
{ (Identifier)
|
{ (TypeConstructorIdentifier)
|
||||||
->(Identifier) }
|
->(TypeConstructorIdentifier) }
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty))
|
(Empty))
|
||||||
(RecordDataConstructor
|
(RecordDataConstructor
|
||||||
{ (Identifier)
|
{ (ConstructorIdentifier)
|
||||||
->(Identifier) }
|
->(ConstructorIdentifier) }
|
||||||
(Statements
|
(Statements
|
||||||
(Field
|
(Field
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier))
|
(VariableIdentifier))
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty)))))
|
(Empty)))))
|
||||||
(Empty))
|
(Empty))
|
||||||
(Datatype
|
(Datatype
|
||||||
(Empty)
|
(Empty)
|
||||||
(Type
|
(Type
|
||||||
{ (Identifier)
|
{ (TypeConstructorIdentifier)
|
||||||
->(Identifier) }
|
->(TypeConstructorIdentifier) }
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty))
|
(Empty))
|
||||||
(RecordDataConstructor
|
(RecordDataConstructor
|
||||||
{ (Identifier)
|
{ (ConstructorIdentifier)
|
||||||
->(Identifier) }
|
->(ConstructorIdentifier) }
|
||||||
(Statements
|
(Statements
|
||||||
(Field
|
(Field
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Identifier))
|
(VariableIdentifier))
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty)))))
|
(Empty)))))
|
||||||
(Empty))
|
(Empty))
|
||||||
(Datatype
|
(Datatype
|
||||||
(Empty)
|
(Empty)
|
||||||
(Type
|
(Type
|
||||||
{ (Identifier)
|
{ (TypeConstructorIdentifier)
|
||||||
->(Identifier) }
|
->(TypeConstructorIdentifier) }
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty))
|
(Empty))
|
||||||
(RecordDataConstructor
|
(RecordDataConstructor
|
||||||
{ (Identifier)
|
{ (ConstructorIdentifier)
|
||||||
->(Identifier) }
|
->(ConstructorIdentifier) }
|
||||||
(Statements
|
(Statements
|
||||||
(Field
|
(Field
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier))
|
(VariableIdentifier))
|
||||||
(Type
|
(Type
|
||||||
(StrictType
|
(StrictType
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters))
|
(TypeParameters))
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty)))
|
(Empty)))
|
||||||
(Field
|
(Field
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier))
|
(VariableIdentifier))
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty)))))
|
(Empty)))))
|
||||||
(Empty))
|
(Empty))
|
||||||
(Datatype
|
(Datatype
|
||||||
(Empty)
|
(Empty)
|
||||||
(Type
|
(Type
|
||||||
{ (Identifier)
|
{ (TypeConstructorIdentifier)
|
||||||
->(Identifier) }
|
->(TypeConstructorIdentifier) }
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty))
|
(Empty))
|
||||||
(RecordDataConstructor
|
(RecordDataConstructor
|
||||||
{ (Identifier)
|
{ (ConstructorIdentifier)
|
||||||
->(Identifier) }
|
->(ConstructorIdentifier) }
|
||||||
(Statements
|
(Statements
|
||||||
(Field
|
(Field
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Identifier))
|
(VariableIdentifier))
|
||||||
(Type
|
(Type
|
||||||
(Context
|
(Context
|
||||||
(Pragma)
|
(Pragma)
|
||||||
(StrictType
|
(StrictType
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters)))
|
(TypeParameters)))
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty)))
|
(Empty)))
|
||||||
(Field
|
(Field
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier))
|
(VariableIdentifier))
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty)))))
|
(Empty)))))
|
||||||
(Empty))
|
(Empty))
|
||||||
{+(Datatype
|
{+(Datatype
|
||||||
{+(Empty)+}
|
{+(Empty)+}
|
||||||
{+(Type
|
{+(Type
|
||||||
{+(Identifier)+}
|
{+(TypeConstructorIdentifier)+}
|
||||||
{+(TypeParameters)+}
|
{+(TypeParameters)+}
|
||||||
{+(Empty)+})+}
|
{+(Empty)+})+}
|
||||||
{+(RecordDataConstructor
|
{+(RecordDataConstructor
|
||||||
{+(Identifier)+}
|
{+(ConstructorIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Field
|
{+(Field
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Identifier)+})+}
|
{+(VariableIdentifier)+})+}
|
||||||
{+(Type
|
{+(Type
|
||||||
{+(Identifier)+}
|
{+(TypeConstructorIdentifier)+}
|
||||||
{+(TypeParameters)+}
|
{+(TypeParameters)+}
|
||||||
{+(Empty)+})+})+})+})+}
|
{+(Empty)+})+})+})+})+}
|
||||||
{+(RecordDataConstructor
|
{+(RecordDataConstructor
|
||||||
{+(Identifier)+}
|
{+(ConstructorIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Field
|
{+(Field
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Identifier)+})+}
|
{+(VariableIdentifier)+})+}
|
||||||
{+(Type
|
{+(Type
|
||||||
{+(Identifier)+}
|
{+(TypeConstructorIdentifier)+}
|
||||||
{+(TypeParameters)+}
|
{+(TypeParameters)+}
|
||||||
{+(Empty)+})+})+})+})+}
|
{+(Empty)+})+})+})+})+}
|
||||||
{+(Empty)+})+}
|
{+(Empty)+})+}
|
||||||
(Datatype
|
(Datatype
|
||||||
(Empty)
|
(Empty)
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty))
|
(Empty))
|
||||||
(RecordDataConstructor
|
(RecordDataConstructor
|
||||||
(Identifier)
|
(ConstructorIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Field
|
(Field
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier))
|
(VariableIdentifier))
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty)))))
|
(Empty)))))
|
||||||
(RecordDataConstructor
|
(RecordDataConstructor
|
||||||
(Identifier)
|
(ConstructorIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Field
|
(Field
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier))
|
(VariableIdentifier))
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty)))))
|
(Empty)))))
|
||||||
(Empty))
|
(Empty))
|
||||||
{-(Datatype
|
{-(Datatype
|
||||||
{-(Empty)-}
|
{-(Empty)-}
|
||||||
{-(Type
|
{-(Type
|
||||||
{-(Identifier)-}
|
{-(TypeConstructorIdentifier)-}
|
||||||
{-(TypeParameters)-}
|
{-(TypeParameters)-}
|
||||||
{-(Empty)-})-}
|
{-(Empty)-})-}
|
||||||
{-(RecordDataConstructor
|
{-(RecordDataConstructor
|
||||||
{-(Identifier)-}
|
{-(ConstructorIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Field
|
{-(Field
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Identifier)-})-}
|
{-(VariableIdentifier)-})-}
|
||||||
{-(Type
|
{-(Type
|
||||||
{-(Identifier)-}
|
{-(TypeConstructorIdentifier)-}
|
||||||
{-(TypeParameters)-}
|
{-(TypeParameters)-}
|
||||||
{-(Empty)-})-})-})-})-}
|
{-(Empty)-})-})-})-})-}
|
||||||
{-(RecordDataConstructor
|
{-(RecordDataConstructor
|
||||||
{-(Identifier)-}
|
{-(ConstructorIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Field
|
{-(Field
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Identifier)-})-}
|
{-(VariableIdentifier)-})-}
|
||||||
{-(Type
|
{-(Type
|
||||||
{-(Identifier)-}
|
{-(TypeConstructorIdentifier)-}
|
||||||
{-(TypeParameters)-}
|
{-(TypeParameters)-}
|
||||||
{-(Empty)-})-})-})-})-}
|
{-(Empty)-})-})-})-})-}
|
||||||
{-(Empty)-})-}
|
{-(Empty)-})-}
|
||||||
(Datatype
|
(Datatype
|
||||||
(Empty)
|
(Empty)
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty))
|
(Empty))
|
||||||
(Constructor
|
(Constructor
|
||||||
(Empty)
|
(ConstructorIdentifier)
|
||||||
(Identifier)
|
|
||||||
(TypeParameters))
|
(TypeParameters))
|
||||||
(Deriving
|
(Deriving
|
||||||
(Identifier)))
|
(TypeClassIdentifier)))
|
||||||
(Datatype
|
(Datatype
|
||||||
(Empty)
|
(Empty)
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty))
|
(Empty))
|
||||||
(Constructor
|
(Constructor
|
||||||
(Empty)
|
(ConstructorIdentifier)
|
||||||
(Identifier)
|
|
||||||
(TypeParameters))
|
(TypeParameters))
|
||||||
(Deriving
|
(Deriving
|
||||||
{ (Identifier)
|
{ (TypeClassIdentifier)
|
||||||
->(Identifier) }
|
->(TypeClassIdentifier) }
|
||||||
(Identifier)
|
(TypeClassIdentifier)
|
||||||
(Identifier)
|
(TypeClassIdentifier)
|
||||||
(Identifier)
|
(TypeClassIdentifier)
|
||||||
(Identifier)
|
(TypeClassIdentifier)
|
||||||
(Identifier)))
|
(TypeClassIdentifier)))
|
||||||
(Datatype
|
(Datatype
|
||||||
(Context'
|
(Context'
|
||||||
(Class
|
(Statements
|
||||||
{ (Identifier)
|
|
||||||
->(Identifier) }
|
|
||||||
(TypeParameters
|
|
||||||
(Identifier))))
|
|
||||||
(Type
|
|
||||||
(Identifier)
|
|
||||||
(TypeParameters
|
|
||||||
(Identifier))
|
|
||||||
(Empty))
|
|
||||||
(Constructor
|
|
||||||
(Empty)
|
|
||||||
(Identifier)
|
|
||||||
(TypeParameters
|
|
||||||
(Identifier)))
|
|
||||||
(Empty))
|
|
||||||
(Datatype
|
|
||||||
(Context'
|
|
||||||
(Class
|
|
||||||
{ (Identifier)
|
|
||||||
->(Identifier) }
|
|
||||||
(TypeParameters
|
|
||||||
(Identifier)))
|
|
||||||
(Class
|
|
||||||
(Identifier)
|
|
||||||
(TypeParameters
|
|
||||||
(Identifier)))
|
|
||||||
(Class
|
|
||||||
(Identifier)
|
|
||||||
(TypeParameters
|
|
||||||
(Identifier))))
|
|
||||||
(Type
|
|
||||||
(Identifier)
|
|
||||||
(TypeParameters
|
|
||||||
(Identifier)
|
|
||||||
(Identifier))
|
|
||||||
(Empty))
|
|
||||||
(Constructor
|
|
||||||
(Empty)
|
|
||||||
(Identifier)
|
|
||||||
(TypeParameters
|
|
||||||
(Identifier)
|
|
||||||
(Identifier)))
|
|
||||||
(Empty))
|
|
||||||
(Datatype
|
|
||||||
(Context'
|
|
||||||
(Class
|
|
||||||
(Identifier)
|
|
||||||
(TypeParameters
|
|
||||||
(Statements
|
|
||||||
(Identifier)
|
|
||||||
(Identifier))))
|
|
||||||
(Class
|
|
||||||
{ (Identifier)
|
|
||||||
->(Identifier) }
|
|
||||||
(TypeParameters
|
|
||||||
(Identifier))))
|
|
||||||
(Type
|
|
||||||
(Identifier)
|
|
||||||
(TypeParameters
|
|
||||||
(Identifier)
|
|
||||||
(Identifier))
|
|
||||||
(Empty))
|
|
||||||
(Constructor
|
|
||||||
(Empty)
|
|
||||||
(Identifier)
|
|
||||||
(TypeParameters
|
|
||||||
(Identifier)
|
|
||||||
(Identifier)))
|
|
||||||
(Empty))
|
|
||||||
(Datatype
|
|
||||||
(Empty)
|
|
||||||
(Type
|
|
||||||
(Identifier)
|
|
||||||
(TypeParameters
|
|
||||||
(Identifier))
|
|
||||||
(Empty))
|
|
||||||
(Constructor
|
|
||||||
(Context'
|
|
||||||
(Identifier))
|
|
||||||
{ (Identifier)
|
|
||||||
->(Identifier) }
|
|
||||||
(TypeParameters
|
|
||||||
(Identifier)))
|
|
||||||
(Empty))
|
|
||||||
(Datatype
|
|
||||||
(Empty)
|
|
||||||
(Type
|
|
||||||
(Identifier)
|
|
||||||
(TypeParameters
|
|
||||||
{ (Identifier)
|
|
||||||
->(Identifier) })
|
|
||||||
(Empty))
|
|
||||||
(Constructor
|
|
||||||
(Context'
|
|
||||||
(Class
|
(Class
|
||||||
(Identifier)
|
{ (TypeClassIdentifier)
|
||||||
|
->(TypeClassIdentifier) }
|
||||||
(TypeParameters
|
(TypeParameters
|
||||||
{ (Identifier)
|
(TypeVariableIdentifier)))))
|
||||||
->(Identifier) })))
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters
|
(TypeParameters
|
||||||
{ (Identifier)
|
(TypeVariableIdentifier))
|
||||||
->(Identifier) }))
|
(Empty))
|
||||||
|
(Constructor
|
||||||
|
(ConstructorIdentifier)
|
||||||
|
(TypeParameters
|
||||||
|
(TypeVariableIdentifier)))
|
||||||
|
(Empty))
|
||||||
|
(Datatype
|
||||||
|
(Context'
|
||||||
|
(Statements
|
||||||
|
(Class
|
||||||
|
{ (TypeClassIdentifier)
|
||||||
|
->(TypeClassIdentifier) }
|
||||||
|
(TypeParameters
|
||||||
|
(TypeVariableIdentifier))))
|
||||||
|
(Statements
|
||||||
|
(Class
|
||||||
|
(TypeClassIdentifier)
|
||||||
|
(TypeParameters
|
||||||
|
(TypeVariableIdentifier))))
|
||||||
|
(Statements
|
||||||
|
(Class
|
||||||
|
(TypeClassIdentifier)
|
||||||
|
(TypeParameters
|
||||||
|
(TypeVariableIdentifier)))))
|
||||||
|
(Type
|
||||||
|
(TypeConstructorIdentifier)
|
||||||
|
(TypeParameters
|
||||||
|
(TypeVariableIdentifier)
|
||||||
|
(TypeVariableIdentifier))
|
||||||
|
(Empty))
|
||||||
|
(Constructor
|
||||||
|
(ConstructorIdentifier)
|
||||||
|
(TypeParameters
|
||||||
|
(TypeVariableIdentifier)
|
||||||
|
(TypeVariableIdentifier)))
|
||||||
|
(Empty))
|
||||||
|
(Datatype
|
||||||
|
(Context'
|
||||||
|
(Statements
|
||||||
|
(Class
|
||||||
|
(TypeClassIdentifier)
|
||||||
|
(TypeParameters
|
||||||
|
(Statements
|
||||||
|
(TypeVariableIdentifier)
|
||||||
|
(TypeVariableIdentifier)))))
|
||||||
|
(Statements
|
||||||
|
(Class
|
||||||
|
{ (TypeClassIdentifier)
|
||||||
|
->(TypeClassIdentifier) }
|
||||||
|
(TypeParameters
|
||||||
|
(TypeVariableIdentifier)))))
|
||||||
|
(Type
|
||||||
|
(TypeConstructorIdentifier)
|
||||||
|
(TypeParameters
|
||||||
|
(TypeVariableIdentifier)
|
||||||
|
(TypeVariableIdentifier))
|
||||||
|
(Empty))
|
||||||
|
(Constructor
|
||||||
|
(ConstructorIdentifier)
|
||||||
|
(TypeParameters
|
||||||
|
(TypeVariableIdentifier)
|
||||||
|
(TypeVariableIdentifier)))
|
||||||
|
(Empty))
|
||||||
|
(Datatype
|
||||||
|
(Empty)
|
||||||
|
(Type
|
||||||
|
(TypeConstructorIdentifier)
|
||||||
|
(TypeParameters
|
||||||
|
(TypeVariableIdentifier))
|
||||||
|
(Empty))
|
||||||
|
(Constructor
|
||||||
|
(Context'
|
||||||
|
(Statements
|
||||||
|
(TypeConstructorIdentifier)))
|
||||||
|
{ (ConstructorIdentifier)
|
||||||
|
->(ConstructorIdentifier) }
|
||||||
|
(TypeParameters
|
||||||
|
(TypeVariableIdentifier)))
|
||||||
|
(Empty))
|
||||||
|
(Datatype
|
||||||
|
(Empty)
|
||||||
|
(Type
|
||||||
|
(TypeConstructorIdentifier)
|
||||||
|
(TypeParameters
|
||||||
|
{ (TypeVariableIdentifier)
|
||||||
|
->(TypeVariableIdentifier) })
|
||||||
|
(Empty))
|
||||||
|
(Constructor
|
||||||
|
(Context'
|
||||||
|
(Statements
|
||||||
|
(Class
|
||||||
|
(TypeClassIdentifier)
|
||||||
|
(TypeParameters
|
||||||
|
{ (TypeVariableIdentifier)
|
||||||
|
->(TypeVariableIdentifier) }))))
|
||||||
|
(ConstructorIdentifier)
|
||||||
|
(TypeParameters
|
||||||
|
{ (TypeVariableIdentifier)
|
||||||
|
->(TypeVariableIdentifier) }))
|
||||||
|
(Empty))
|
||||||
|
(Datatype
|
||||||
|
(Empty)
|
||||||
|
(Type
|
||||||
|
{ (TypeConstructorIdentifier)
|
||||||
|
->(TypeConstructorIdentifier) }
|
||||||
|
(TypeParameters)
|
||||||
|
(Empty))
|
||||||
|
(Constructor
|
||||||
|
{ (ConstructorIdentifier)
|
||||||
|
->(ConstructorIdentifier) }
|
||||||
|
(TypeParameters
|
||||||
|
(StrictTypeVariable
|
||||||
|
(PrimitiveConstructorIdentifier))))
|
||||||
|
(Empty))
|
||||||
|
(Datatype
|
||||||
|
(Empty)
|
||||||
|
(Type
|
||||||
|
(TypeConstructorIdentifier)
|
||||||
|
(TypeParameters)
|
||||||
|
(Empty))
|
||||||
|
(Constructor
|
||||||
|
(ScopedTypeVariables
|
||||||
|
{ (TypeVariableIdentifier)
|
||||||
|
->(TypeVariableIdentifier) })
|
||||||
|
(Context'
|
||||||
|
(Statements
|
||||||
|
(Class
|
||||||
|
(TypeClassIdentifier)
|
||||||
|
(TypeParameters
|
||||||
|
{ (TypeVariableIdentifier)
|
||||||
|
->(TypeVariableIdentifier) }))))
|
||||||
|
(ConstructorIdentifier)
|
||||||
|
(TypeParameters
|
||||||
|
(Statements
|
||||||
|
(TypeConstructorIdentifier)
|
||||||
|
{ (TypeVariableIdentifier)
|
||||||
|
->(TypeVariableIdentifier) })))
|
||||||
(Empty))))
|
(Empty))))
|
||||||
|
@ -4,354 +4,381 @@
|
|||||||
(Datatype
|
(Datatype
|
||||||
(Empty)
|
(Empty)
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty))
|
(Empty))
|
||||||
(Empty))
|
(Empty))
|
||||||
(Datatype
|
(Datatype
|
||||||
(Empty)
|
(Empty)
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters
|
(TypeParameters
|
||||||
(Identifier))
|
(TypeVariableIdentifier))
|
||||||
(Empty))
|
(Empty))
|
||||||
(Constructor
|
(Constructor
|
||||||
(Empty)
|
(ConstructorIdentifier)
|
||||||
(Identifier)
|
|
||||||
(TypeParameters
|
(TypeParameters
|
||||||
(Identifier)))
|
(TypeVariableIdentifier)))
|
||||||
(Empty))
|
(Empty))
|
||||||
(Datatype
|
(Datatype
|
||||||
(Empty)
|
(Empty)
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters
|
(TypeParameters
|
||||||
(Identifier))
|
(TypeVariableIdentifier))
|
||||||
(Empty))
|
(Empty))
|
||||||
(Constructor
|
(Constructor
|
||||||
(Empty)
|
(ConstructorIdentifier)
|
||||||
(Identifier)
|
|
||||||
(TypeParameters
|
(TypeParameters
|
||||||
(StrictTypeVariable
|
(StrictTypeVariable
|
||||||
(Identifier))))
|
(TypeVariableIdentifier))))
|
||||||
(Empty))
|
(Empty))
|
||||||
(Datatype
|
(Datatype
|
||||||
(Empty)
|
(Empty)
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters
|
(TypeParameters
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(Identifier))
|
(TypeVariableIdentifier))
|
||||||
(Empty))
|
(Empty))
|
||||||
(Constructor
|
(Constructor
|
||||||
(Empty)
|
(ConstructorIdentifier)
|
||||||
(Identifier)
|
|
||||||
(TypeParameters
|
(TypeParameters
|
||||||
(StrictTypeVariable
|
(StrictTypeVariable
|
||||||
(Identifier))
|
(TypeVariableIdentifier))
|
||||||
(Identifier)))
|
(TypeVariableIdentifier)))
|
||||||
(Empty))
|
(Empty))
|
||||||
(Datatype
|
(Datatype
|
||||||
(Empty)
|
(Empty)
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty))
|
(Empty))
|
||||||
(Constructor
|
(Constructor
|
||||||
(Empty)
|
(ConstructorIdentifier)
|
||||||
(Identifier)
|
|
||||||
(TypeParameters))
|
(TypeParameters))
|
||||||
(Constructor
|
(Constructor
|
||||||
(Empty)
|
(ConstructorIdentifier)
|
||||||
(Identifier)
|
|
||||||
(TypeParameters))
|
(TypeParameters))
|
||||||
(Constructor
|
(Constructor
|
||||||
(Empty)
|
(ConstructorIdentifier)
|
||||||
(Identifier)
|
|
||||||
(TypeParameters))
|
(TypeParameters))
|
||||||
(Constructor
|
(Constructor
|
||||||
(Empty)
|
(ConstructorIdentifier)
|
||||||
(Identifier)
|
|
||||||
(TypeParameters))
|
(TypeParameters))
|
||||||
(Constructor
|
(Constructor
|
||||||
(Empty)
|
(ConstructorIdentifier)
|
||||||
(Identifier)
|
|
||||||
(TypeParameters))
|
(TypeParameters))
|
||||||
(Constructor
|
(Constructor
|
||||||
(Empty)
|
(ConstructorIdentifier)
|
||||||
(Identifier)
|
|
||||||
(TypeParameters))
|
(TypeParameters))
|
||||||
(Empty))
|
(Empty))
|
||||||
(Datatype
|
(Datatype
|
||||||
(Empty)
|
(Empty)
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty))
|
(Empty))
|
||||||
(RecordDataConstructor
|
(RecordDataConstructor
|
||||||
(Identifier)
|
(ConstructorIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Field
|
(Field
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier))
|
(VariableIdentifier))
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty)))))
|
(Empty)))))
|
||||||
(Empty))
|
(Empty))
|
||||||
(Datatype
|
(Datatype
|
||||||
(Empty)
|
(Empty)
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty))
|
(Empty))
|
||||||
(RecordDataConstructor
|
(RecordDataConstructor
|
||||||
(Identifier)
|
(ConstructorIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Field
|
(Field
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Identifier))
|
(VariableIdentifier))
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty)))))
|
(Empty)))))
|
||||||
(Empty))
|
(Empty))
|
||||||
(Datatype
|
(Datatype
|
||||||
(Empty)
|
(Empty)
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty))
|
(Empty))
|
||||||
(RecordDataConstructor
|
(RecordDataConstructor
|
||||||
(Identifier)
|
(ConstructorIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Field
|
(Field
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier))
|
(VariableIdentifier))
|
||||||
(Type
|
(Type
|
||||||
(StrictType
|
(StrictType
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters))
|
(TypeParameters))
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty)))
|
(Empty)))
|
||||||
(Field
|
(Field
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier))
|
(VariableIdentifier))
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty)))))
|
(Empty)))))
|
||||||
(Empty))
|
(Empty))
|
||||||
(Datatype
|
(Datatype
|
||||||
(Empty)
|
(Empty)
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty))
|
(Empty))
|
||||||
(RecordDataConstructor
|
(RecordDataConstructor
|
||||||
(Identifier)
|
(ConstructorIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Field
|
(Field
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Identifier))
|
(VariableIdentifier))
|
||||||
(Type
|
(Type
|
||||||
(Context
|
(Context
|
||||||
(Pragma)
|
(Pragma)
|
||||||
(StrictType
|
(StrictType
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters)))
|
(TypeParameters)))
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty)))
|
(Empty)))
|
||||||
(Field
|
(Field
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier))
|
(VariableIdentifier))
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty)))))
|
(Empty)))))
|
||||||
(Empty))
|
(Empty))
|
||||||
(Datatype
|
(Datatype
|
||||||
(Empty)
|
(Empty)
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty))
|
(Empty))
|
||||||
(RecordDataConstructor
|
(RecordDataConstructor
|
||||||
(Identifier)
|
(ConstructorIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Field
|
(Field
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier))
|
(VariableIdentifier))
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty)))))
|
(Empty)))))
|
||||||
(RecordDataConstructor
|
(RecordDataConstructor
|
||||||
(Identifier)
|
(ConstructorIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Field
|
(Field
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier))
|
(VariableIdentifier))
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty)))))
|
(Empty)))))
|
||||||
(Empty))
|
(Empty))
|
||||||
(Datatype
|
(Datatype
|
||||||
(Empty)
|
(Empty)
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty))
|
(Empty))
|
||||||
(RecordDataConstructor
|
(RecordDataConstructor
|
||||||
(Identifier)
|
(ConstructorIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Field
|
(Field
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier))
|
(VariableIdentifier))
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty)))))
|
(Empty)))))
|
||||||
(RecordDataConstructor
|
(RecordDataConstructor
|
||||||
(Identifier)
|
(ConstructorIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Field
|
(Field
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier))
|
(VariableIdentifier))
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty)))))
|
(Empty)))))
|
||||||
(Empty))
|
(Empty))
|
||||||
(Datatype
|
(Datatype
|
||||||
(Empty)
|
(Empty)
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty))
|
(Empty))
|
||||||
(Constructor
|
(Constructor
|
||||||
(Empty)
|
(ConstructorIdentifier)
|
||||||
(Identifier)
|
|
||||||
(TypeParameters))
|
(TypeParameters))
|
||||||
(Deriving
|
(Deriving
|
||||||
(Identifier)))
|
(TypeClassIdentifier)))
|
||||||
(Datatype
|
(Datatype
|
||||||
(Empty)
|
(Empty)
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty))
|
(Empty))
|
||||||
(Constructor
|
(Constructor
|
||||||
(Empty)
|
(ConstructorIdentifier)
|
||||||
(Identifier)
|
|
||||||
(TypeParameters))
|
(TypeParameters))
|
||||||
(Deriving
|
(Deriving
|
||||||
(Identifier)
|
(TypeClassIdentifier)
|
||||||
(Identifier)
|
(TypeClassIdentifier)
|
||||||
(Identifier)
|
(TypeClassIdentifier)
|
||||||
(Identifier)
|
(TypeClassIdentifier)
|
||||||
(Identifier)
|
(TypeClassIdentifier)
|
||||||
(Identifier)))
|
(TypeClassIdentifier)))
|
||||||
(Datatype
|
(Datatype
|
||||||
(Context'
|
(Context'
|
||||||
(Class
|
(Statements
|
||||||
(Identifier)
|
|
||||||
(TypeParameters
|
|
||||||
(Identifier))))
|
|
||||||
(Type
|
|
||||||
(Identifier)
|
|
||||||
(TypeParameters
|
|
||||||
(Identifier))
|
|
||||||
(Empty))
|
|
||||||
(Constructor
|
|
||||||
(Empty)
|
|
||||||
(Identifier)
|
|
||||||
(TypeParameters
|
|
||||||
(Identifier)))
|
|
||||||
(Empty))
|
|
||||||
(Datatype
|
|
||||||
(Context'
|
|
||||||
(Class
|
|
||||||
(Identifier)
|
|
||||||
(TypeParameters
|
|
||||||
(Identifier)))
|
|
||||||
(Class
|
|
||||||
(Identifier)
|
|
||||||
(TypeParameters
|
|
||||||
(Identifier)))
|
|
||||||
(Class
|
|
||||||
(Identifier)
|
|
||||||
(TypeParameters
|
|
||||||
(Identifier))))
|
|
||||||
(Type
|
|
||||||
(Identifier)
|
|
||||||
(TypeParameters
|
|
||||||
(Identifier)
|
|
||||||
(Identifier))
|
|
||||||
(Empty))
|
|
||||||
(Constructor
|
|
||||||
(Empty)
|
|
||||||
(Identifier)
|
|
||||||
(TypeParameters
|
|
||||||
(Identifier)
|
|
||||||
(Identifier)))
|
|
||||||
(Empty))
|
|
||||||
(Datatype
|
|
||||||
(Context'
|
|
||||||
(Class
|
|
||||||
(Identifier)
|
|
||||||
(TypeParameters
|
|
||||||
(Statements
|
|
||||||
(Identifier)
|
|
||||||
(Identifier))))
|
|
||||||
(Class
|
|
||||||
(Identifier)
|
|
||||||
(TypeParameters
|
|
||||||
(Identifier))))
|
|
||||||
(Type
|
|
||||||
(Identifier)
|
|
||||||
(TypeParameters
|
|
||||||
(Identifier)
|
|
||||||
(Identifier))
|
|
||||||
(Empty))
|
|
||||||
(Constructor
|
|
||||||
(Empty)
|
|
||||||
(Identifier)
|
|
||||||
(TypeParameters
|
|
||||||
(Identifier)
|
|
||||||
(Identifier)))
|
|
||||||
(Empty))
|
|
||||||
(Datatype
|
|
||||||
(Empty)
|
|
||||||
(Type
|
|
||||||
(Identifier)
|
|
||||||
(TypeParameters
|
|
||||||
(Identifier))
|
|
||||||
(Empty))
|
|
||||||
(Constructor
|
|
||||||
(Context'
|
|
||||||
(Identifier))
|
|
||||||
(Identifier)
|
|
||||||
(TypeParameters
|
|
||||||
(Identifier)))
|
|
||||||
(Empty))
|
|
||||||
(Datatype
|
|
||||||
(Empty)
|
|
||||||
(Type
|
|
||||||
(Identifier)
|
|
||||||
(TypeParameters
|
|
||||||
(Identifier))
|
|
||||||
(Empty))
|
|
||||||
(Constructor
|
|
||||||
(Context'
|
|
||||||
(Class
|
(Class
|
||||||
(Identifier)
|
(TypeClassIdentifier)
|
||||||
(TypeParameters
|
(TypeParameters
|
||||||
(Identifier))))
|
(TypeVariableIdentifier)))))
|
||||||
(Identifier)
|
(Type
|
||||||
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters
|
(TypeParameters
|
||||||
(Identifier)))
|
(TypeVariableIdentifier))
|
||||||
|
(Empty))
|
||||||
|
(Constructor
|
||||||
|
(ConstructorIdentifier)
|
||||||
|
(TypeParameters
|
||||||
|
(TypeVariableIdentifier)))
|
||||||
|
(Empty))
|
||||||
|
(Datatype
|
||||||
|
(Context'
|
||||||
|
(Statements
|
||||||
|
(Class
|
||||||
|
(TypeClassIdentifier)
|
||||||
|
(TypeParameters
|
||||||
|
(TypeVariableIdentifier))))
|
||||||
|
(Statements
|
||||||
|
(Class
|
||||||
|
(TypeClassIdentifier)
|
||||||
|
(TypeParameters
|
||||||
|
(TypeVariableIdentifier))))
|
||||||
|
(Statements
|
||||||
|
(Class
|
||||||
|
(TypeClassIdentifier)
|
||||||
|
(TypeParameters
|
||||||
|
(TypeVariableIdentifier)))))
|
||||||
|
(Type
|
||||||
|
(TypeConstructorIdentifier)
|
||||||
|
(TypeParameters
|
||||||
|
(TypeVariableIdentifier)
|
||||||
|
(TypeVariableIdentifier))
|
||||||
|
(Empty))
|
||||||
|
(Constructor
|
||||||
|
(ConstructorIdentifier)
|
||||||
|
(TypeParameters
|
||||||
|
(TypeVariableIdentifier)
|
||||||
|
(TypeVariableIdentifier)))
|
||||||
|
(Empty))
|
||||||
|
(Datatype
|
||||||
|
(Context'
|
||||||
|
(Statements
|
||||||
|
(Class
|
||||||
|
(TypeClassIdentifier)
|
||||||
|
(TypeParameters
|
||||||
|
(Statements
|
||||||
|
(TypeVariableIdentifier)
|
||||||
|
(TypeVariableIdentifier)))))
|
||||||
|
(Statements
|
||||||
|
(Class
|
||||||
|
(TypeClassIdentifier)
|
||||||
|
(TypeParameters
|
||||||
|
(TypeVariableIdentifier)))))
|
||||||
|
(Type
|
||||||
|
(TypeConstructorIdentifier)
|
||||||
|
(TypeParameters
|
||||||
|
(TypeVariableIdentifier)
|
||||||
|
(TypeVariableIdentifier))
|
||||||
|
(Empty))
|
||||||
|
(Constructor
|
||||||
|
(ConstructorIdentifier)
|
||||||
|
(TypeParameters
|
||||||
|
(TypeVariableIdentifier)
|
||||||
|
(TypeVariableIdentifier)))
|
||||||
|
(Empty))
|
||||||
|
(Datatype
|
||||||
|
(Empty)
|
||||||
|
(Type
|
||||||
|
(TypeConstructorIdentifier)
|
||||||
|
(TypeParameters
|
||||||
|
(TypeVariableIdentifier))
|
||||||
|
(Empty))
|
||||||
|
(Constructor
|
||||||
|
(Context'
|
||||||
|
(Statements
|
||||||
|
(TypeConstructorIdentifier)))
|
||||||
|
(ConstructorIdentifier)
|
||||||
|
(TypeParameters
|
||||||
|
(TypeVariableIdentifier)))
|
||||||
|
(Empty))
|
||||||
|
(Datatype
|
||||||
|
(Empty)
|
||||||
|
(Type
|
||||||
|
(TypeConstructorIdentifier)
|
||||||
|
(TypeParameters
|
||||||
|
(TypeVariableIdentifier))
|
||||||
|
(Empty))
|
||||||
|
(Constructor
|
||||||
|
(Context'
|
||||||
|
(Statements
|
||||||
|
(Class
|
||||||
|
(TypeClassIdentifier)
|
||||||
|
(TypeParameters
|
||||||
|
(TypeVariableIdentifier)))))
|
||||||
|
(ConstructorIdentifier)
|
||||||
|
(TypeParameters
|
||||||
|
(TypeVariableIdentifier)))
|
||||||
|
(Empty))
|
||||||
|
(Datatype
|
||||||
|
(Empty)
|
||||||
|
(Type
|
||||||
|
(TypeConstructorIdentifier)
|
||||||
|
(TypeParameters)
|
||||||
|
(Empty))
|
||||||
|
(Constructor
|
||||||
|
(ConstructorIdentifier)
|
||||||
|
(TypeParameters
|
||||||
|
(StrictTypeVariable
|
||||||
|
(PrimitiveConstructorIdentifier))))
|
||||||
|
(Empty))
|
||||||
|
(Datatype
|
||||||
|
(Empty)
|
||||||
|
(Type
|
||||||
|
(TypeConstructorIdentifier)
|
||||||
|
(TypeParameters)
|
||||||
|
(Empty))
|
||||||
|
(Constructor
|
||||||
|
(ScopedTypeVariables
|
||||||
|
(TypeVariableIdentifier))
|
||||||
|
(Context'
|
||||||
|
(Statements
|
||||||
|
(Class
|
||||||
|
(TypeClassIdentifier)
|
||||||
|
(TypeParameters
|
||||||
|
(TypeVariableIdentifier)))))
|
||||||
|
(ConstructorIdentifier)
|
||||||
|
(TypeParameters
|
||||||
|
(Statements
|
||||||
|
(TypeConstructorIdentifier)
|
||||||
|
(TypeVariableIdentifier))))
|
||||||
(Empty))))
|
(Empty))))
|
||||||
|
@ -4,354 +4,381 @@
|
|||||||
(Datatype
|
(Datatype
|
||||||
(Empty)
|
(Empty)
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty))
|
(Empty))
|
||||||
(Empty))
|
(Empty))
|
||||||
(Datatype
|
(Datatype
|
||||||
(Empty)
|
(Empty)
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters
|
(TypeParameters
|
||||||
(Identifier))
|
(TypeVariableIdentifier))
|
||||||
(Empty))
|
(Empty))
|
||||||
(Constructor
|
(Constructor
|
||||||
(Empty)
|
(ConstructorIdentifier)
|
||||||
(Identifier)
|
|
||||||
(TypeParameters
|
(TypeParameters
|
||||||
(Identifier)))
|
(TypeVariableIdentifier)))
|
||||||
(Empty))
|
(Empty))
|
||||||
(Datatype
|
(Datatype
|
||||||
(Empty)
|
(Empty)
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters
|
(TypeParameters
|
||||||
(Identifier))
|
(TypeVariableIdentifier))
|
||||||
(Empty))
|
(Empty))
|
||||||
(Constructor
|
(Constructor
|
||||||
(Empty)
|
(ConstructorIdentifier)
|
||||||
(Identifier)
|
|
||||||
(TypeParameters
|
(TypeParameters
|
||||||
(StrictTypeVariable
|
(StrictTypeVariable
|
||||||
(Identifier))))
|
(TypeVariableIdentifier))))
|
||||||
(Empty))
|
(Empty))
|
||||||
(Datatype
|
(Datatype
|
||||||
(Empty)
|
(Empty)
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters
|
(TypeParameters
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(Identifier))
|
(TypeVariableIdentifier))
|
||||||
(Empty))
|
(Empty))
|
||||||
(Constructor
|
(Constructor
|
||||||
(Empty)
|
(ConstructorIdentifier)
|
||||||
(Identifier)
|
|
||||||
(TypeParameters
|
(TypeParameters
|
||||||
(StrictTypeVariable
|
(StrictTypeVariable
|
||||||
(Identifier))
|
(TypeVariableIdentifier))
|
||||||
(Identifier)))
|
(TypeVariableIdentifier)))
|
||||||
(Empty))
|
(Empty))
|
||||||
(Datatype
|
(Datatype
|
||||||
(Empty)
|
(Empty)
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty))
|
(Empty))
|
||||||
(Constructor
|
(Constructor
|
||||||
(Empty)
|
(ConstructorIdentifier)
|
||||||
(Identifier)
|
|
||||||
(TypeParameters))
|
(TypeParameters))
|
||||||
(Constructor
|
(Constructor
|
||||||
(Empty)
|
(ConstructorIdentifier)
|
||||||
(Identifier)
|
|
||||||
(TypeParameters))
|
(TypeParameters))
|
||||||
(Constructor
|
(Constructor
|
||||||
(Empty)
|
(ConstructorIdentifier)
|
||||||
(Identifier)
|
|
||||||
(TypeParameters))
|
(TypeParameters))
|
||||||
(Constructor
|
(Constructor
|
||||||
(Empty)
|
(ConstructorIdentifier)
|
||||||
(Identifier)
|
|
||||||
(TypeParameters))
|
(TypeParameters))
|
||||||
(Constructor
|
(Constructor
|
||||||
(Empty)
|
(ConstructorIdentifier)
|
||||||
(Identifier)
|
|
||||||
(TypeParameters))
|
(TypeParameters))
|
||||||
(Constructor
|
(Constructor
|
||||||
(Empty)
|
(ConstructorIdentifier)
|
||||||
(Identifier)
|
|
||||||
(TypeParameters))
|
(TypeParameters))
|
||||||
(Empty))
|
(Empty))
|
||||||
(Datatype
|
(Datatype
|
||||||
(Empty)
|
(Empty)
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty))
|
(Empty))
|
||||||
(RecordDataConstructor
|
(RecordDataConstructor
|
||||||
(Identifier)
|
(ConstructorIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Field
|
(Field
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier))
|
(VariableIdentifier))
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty)))))
|
(Empty)))))
|
||||||
(Empty))
|
(Empty))
|
||||||
(Datatype
|
(Datatype
|
||||||
(Empty)
|
(Empty)
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty))
|
(Empty))
|
||||||
(RecordDataConstructor
|
(RecordDataConstructor
|
||||||
(Identifier)
|
(ConstructorIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Field
|
(Field
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Identifier))
|
(VariableIdentifier))
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty)))))
|
(Empty)))))
|
||||||
(Empty))
|
(Empty))
|
||||||
(Datatype
|
(Datatype
|
||||||
(Empty)
|
(Empty)
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty))
|
(Empty))
|
||||||
(RecordDataConstructor
|
(RecordDataConstructor
|
||||||
(Identifier)
|
(ConstructorIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Field
|
(Field
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier))
|
(VariableIdentifier))
|
||||||
(Type
|
(Type
|
||||||
(StrictType
|
(StrictType
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters))
|
(TypeParameters))
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty)))
|
(Empty)))
|
||||||
(Field
|
(Field
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier))
|
(VariableIdentifier))
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty)))))
|
(Empty)))))
|
||||||
(Empty))
|
(Empty))
|
||||||
(Datatype
|
(Datatype
|
||||||
(Empty)
|
(Empty)
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty))
|
(Empty))
|
||||||
(RecordDataConstructor
|
(RecordDataConstructor
|
||||||
(Identifier)
|
(ConstructorIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Field
|
(Field
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Identifier))
|
(VariableIdentifier))
|
||||||
(Type
|
(Type
|
||||||
(Context
|
(Context
|
||||||
(Pragma)
|
(Pragma)
|
||||||
(StrictType
|
(StrictType
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters)))
|
(TypeParameters)))
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty)))
|
(Empty)))
|
||||||
(Field
|
(Field
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier))
|
(VariableIdentifier))
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty)))))
|
(Empty)))))
|
||||||
(Empty))
|
(Empty))
|
||||||
(Datatype
|
(Datatype
|
||||||
(Empty)
|
(Empty)
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty))
|
(Empty))
|
||||||
(RecordDataConstructor
|
(RecordDataConstructor
|
||||||
(Identifier)
|
(ConstructorIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Field
|
(Field
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier))
|
(VariableIdentifier))
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty)))))
|
(Empty)))))
|
||||||
(RecordDataConstructor
|
(RecordDataConstructor
|
||||||
(Identifier)
|
(ConstructorIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Field
|
(Field
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier))
|
(VariableIdentifier))
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty)))))
|
(Empty)))))
|
||||||
(Empty))
|
(Empty))
|
||||||
(Datatype
|
(Datatype
|
||||||
(Empty)
|
(Empty)
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty))
|
(Empty))
|
||||||
(RecordDataConstructor
|
(RecordDataConstructor
|
||||||
(Identifier)
|
(ConstructorIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Field
|
(Field
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier))
|
(VariableIdentifier))
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty)))))
|
(Empty)))))
|
||||||
(RecordDataConstructor
|
(RecordDataConstructor
|
||||||
(Identifier)
|
(ConstructorIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Field
|
(Field
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier))
|
(VariableIdentifier))
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty)))))
|
(Empty)))))
|
||||||
(Empty))
|
(Empty))
|
||||||
(Datatype
|
(Datatype
|
||||||
(Empty)
|
(Empty)
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty))
|
(Empty))
|
||||||
(Constructor
|
(Constructor
|
||||||
(Empty)
|
(ConstructorIdentifier)
|
||||||
(Identifier)
|
|
||||||
(TypeParameters))
|
(TypeParameters))
|
||||||
(Deriving
|
(Deriving
|
||||||
(Identifier)))
|
(TypeClassIdentifier)))
|
||||||
(Datatype
|
(Datatype
|
||||||
(Empty)
|
(Empty)
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty))
|
(Empty))
|
||||||
(Constructor
|
(Constructor
|
||||||
(Empty)
|
(ConstructorIdentifier)
|
||||||
(Identifier)
|
|
||||||
(TypeParameters))
|
(TypeParameters))
|
||||||
(Deriving
|
(Deriving
|
||||||
(Identifier)
|
(TypeClassIdentifier)
|
||||||
(Identifier)
|
(TypeClassIdentifier)
|
||||||
(Identifier)
|
(TypeClassIdentifier)
|
||||||
(Identifier)
|
(TypeClassIdentifier)
|
||||||
(Identifier)
|
(TypeClassIdentifier)
|
||||||
(Identifier)))
|
(TypeClassIdentifier)))
|
||||||
(Datatype
|
(Datatype
|
||||||
(Context'
|
(Context'
|
||||||
(Class
|
(Statements
|
||||||
(Identifier)
|
|
||||||
(TypeParameters
|
|
||||||
(Identifier))))
|
|
||||||
(Type
|
|
||||||
(Identifier)
|
|
||||||
(TypeParameters
|
|
||||||
(Identifier))
|
|
||||||
(Empty))
|
|
||||||
(Constructor
|
|
||||||
(Empty)
|
|
||||||
(Identifier)
|
|
||||||
(TypeParameters
|
|
||||||
(Identifier)))
|
|
||||||
(Empty))
|
|
||||||
(Datatype
|
|
||||||
(Context'
|
|
||||||
(Class
|
|
||||||
(Identifier)
|
|
||||||
(TypeParameters
|
|
||||||
(Identifier)))
|
|
||||||
(Class
|
|
||||||
(Identifier)
|
|
||||||
(TypeParameters
|
|
||||||
(Identifier)))
|
|
||||||
(Class
|
|
||||||
(Identifier)
|
|
||||||
(TypeParameters
|
|
||||||
(Identifier))))
|
|
||||||
(Type
|
|
||||||
(Identifier)
|
|
||||||
(TypeParameters
|
|
||||||
(Identifier)
|
|
||||||
(Identifier))
|
|
||||||
(Empty))
|
|
||||||
(Constructor
|
|
||||||
(Empty)
|
|
||||||
(Identifier)
|
|
||||||
(TypeParameters
|
|
||||||
(Identifier)
|
|
||||||
(Identifier)))
|
|
||||||
(Empty))
|
|
||||||
(Datatype
|
|
||||||
(Context'
|
|
||||||
(Class
|
|
||||||
(Identifier)
|
|
||||||
(TypeParameters
|
|
||||||
(Statements
|
|
||||||
(Identifier)
|
|
||||||
(Identifier))))
|
|
||||||
(Class
|
|
||||||
(Identifier)
|
|
||||||
(TypeParameters
|
|
||||||
(Identifier))))
|
|
||||||
(Type
|
|
||||||
(Identifier)
|
|
||||||
(TypeParameters
|
|
||||||
(Identifier)
|
|
||||||
(Identifier))
|
|
||||||
(Empty))
|
|
||||||
(Constructor
|
|
||||||
(Empty)
|
|
||||||
(Identifier)
|
|
||||||
(TypeParameters
|
|
||||||
(Identifier)
|
|
||||||
(Identifier)))
|
|
||||||
(Empty))
|
|
||||||
(Datatype
|
|
||||||
(Empty)
|
|
||||||
(Type
|
|
||||||
(Identifier)
|
|
||||||
(TypeParameters
|
|
||||||
(Identifier))
|
|
||||||
(Empty))
|
|
||||||
(Constructor
|
|
||||||
(Context'
|
|
||||||
(Identifier))
|
|
||||||
(Identifier)
|
|
||||||
(TypeParameters
|
|
||||||
(Identifier)))
|
|
||||||
(Empty))
|
|
||||||
(Datatype
|
|
||||||
(Empty)
|
|
||||||
(Type
|
|
||||||
(Identifier)
|
|
||||||
(TypeParameters
|
|
||||||
(Identifier))
|
|
||||||
(Empty))
|
|
||||||
(Constructor
|
|
||||||
(Context'
|
|
||||||
(Class
|
(Class
|
||||||
(Identifier)
|
(TypeClassIdentifier)
|
||||||
(TypeParameters
|
(TypeParameters
|
||||||
(Identifier))))
|
(TypeVariableIdentifier)))))
|
||||||
(Identifier)
|
(Type
|
||||||
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters
|
(TypeParameters
|
||||||
(Identifier)))
|
(TypeVariableIdentifier))
|
||||||
|
(Empty))
|
||||||
|
(Constructor
|
||||||
|
(ConstructorIdentifier)
|
||||||
|
(TypeParameters
|
||||||
|
(TypeVariableIdentifier)))
|
||||||
|
(Empty))
|
||||||
|
(Datatype
|
||||||
|
(Context'
|
||||||
|
(Statements
|
||||||
|
(Class
|
||||||
|
(TypeClassIdentifier)
|
||||||
|
(TypeParameters
|
||||||
|
(TypeVariableIdentifier))))
|
||||||
|
(Statements
|
||||||
|
(Class
|
||||||
|
(TypeClassIdentifier)
|
||||||
|
(TypeParameters
|
||||||
|
(TypeVariableIdentifier))))
|
||||||
|
(Statements
|
||||||
|
(Class
|
||||||
|
(TypeClassIdentifier)
|
||||||
|
(TypeParameters
|
||||||
|
(TypeVariableIdentifier)))))
|
||||||
|
(Type
|
||||||
|
(TypeConstructorIdentifier)
|
||||||
|
(TypeParameters
|
||||||
|
(TypeVariableIdentifier)
|
||||||
|
(TypeVariableIdentifier))
|
||||||
|
(Empty))
|
||||||
|
(Constructor
|
||||||
|
(ConstructorIdentifier)
|
||||||
|
(TypeParameters
|
||||||
|
(TypeVariableIdentifier)
|
||||||
|
(TypeVariableIdentifier)))
|
||||||
|
(Empty))
|
||||||
|
(Datatype
|
||||||
|
(Context'
|
||||||
|
(Statements
|
||||||
|
(Class
|
||||||
|
(TypeClassIdentifier)
|
||||||
|
(TypeParameters
|
||||||
|
(Statements
|
||||||
|
(TypeVariableIdentifier)
|
||||||
|
(TypeVariableIdentifier)))))
|
||||||
|
(Statements
|
||||||
|
(Class
|
||||||
|
(TypeClassIdentifier)
|
||||||
|
(TypeParameters
|
||||||
|
(TypeVariableIdentifier)))))
|
||||||
|
(Type
|
||||||
|
(TypeConstructorIdentifier)
|
||||||
|
(TypeParameters
|
||||||
|
(TypeVariableIdentifier)
|
||||||
|
(TypeVariableIdentifier))
|
||||||
|
(Empty))
|
||||||
|
(Constructor
|
||||||
|
(ConstructorIdentifier)
|
||||||
|
(TypeParameters
|
||||||
|
(TypeVariableIdentifier)
|
||||||
|
(TypeVariableIdentifier)))
|
||||||
|
(Empty))
|
||||||
|
(Datatype
|
||||||
|
(Empty)
|
||||||
|
(Type
|
||||||
|
(TypeConstructorIdentifier)
|
||||||
|
(TypeParameters
|
||||||
|
(TypeVariableIdentifier))
|
||||||
|
(Empty))
|
||||||
|
(Constructor
|
||||||
|
(Context'
|
||||||
|
(Statements
|
||||||
|
(TypeConstructorIdentifier)))
|
||||||
|
(ConstructorIdentifier)
|
||||||
|
(TypeParameters
|
||||||
|
(TypeVariableIdentifier)))
|
||||||
|
(Empty))
|
||||||
|
(Datatype
|
||||||
|
(Empty)
|
||||||
|
(Type
|
||||||
|
(TypeConstructorIdentifier)
|
||||||
|
(TypeParameters
|
||||||
|
(TypeVariableIdentifier))
|
||||||
|
(Empty))
|
||||||
|
(Constructor
|
||||||
|
(Context'
|
||||||
|
(Statements
|
||||||
|
(Class
|
||||||
|
(TypeClassIdentifier)
|
||||||
|
(TypeParameters
|
||||||
|
(TypeVariableIdentifier)))))
|
||||||
|
(ConstructorIdentifier)
|
||||||
|
(TypeParameters
|
||||||
|
(TypeVariableIdentifier)))
|
||||||
|
(Empty))
|
||||||
|
(Datatype
|
||||||
|
(Empty)
|
||||||
|
(Type
|
||||||
|
(TypeConstructorIdentifier)
|
||||||
|
(TypeParameters)
|
||||||
|
(Empty))
|
||||||
|
(Constructor
|
||||||
|
(ConstructorIdentifier)
|
||||||
|
(TypeParameters
|
||||||
|
(StrictTypeVariable
|
||||||
|
(PrimitiveConstructorIdentifier))))
|
||||||
|
(Empty))
|
||||||
|
(Datatype
|
||||||
|
(Empty)
|
||||||
|
(Type
|
||||||
|
(TypeConstructorIdentifier)
|
||||||
|
(TypeParameters)
|
||||||
|
(Empty))
|
||||||
|
(Constructor
|
||||||
|
(ScopedTypeVariables
|
||||||
|
(TypeVariableIdentifier))
|
||||||
|
(Context'
|
||||||
|
(Statements
|
||||||
|
(Class
|
||||||
|
(TypeClassIdentifier)
|
||||||
|
(TypeParameters
|
||||||
|
(TypeVariableIdentifier)))))
|
||||||
|
(ConstructorIdentifier)
|
||||||
|
(TypeParameters
|
||||||
|
(Statements
|
||||||
|
(TypeConstructorIdentifier)
|
||||||
|
(TypeVariableIdentifier))))
|
||||||
(Empty))))
|
(Empty))))
|
||||||
|
4
test/fixtures/haskell/corpus/default-declaration.A.hs
vendored
Normal file
4
test/fixtures/haskell/corpus/default-declaration.A.hs
vendored
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
module A where
|
||||||
|
|
||||||
|
default ()
|
||||||
|
default (Integer, Double)
|
3
test/fixtures/haskell/corpus/default-declaration.B.hs
vendored
Normal file
3
test/fixtures/haskell/corpus/default-declaration.B.hs
vendored
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
module A where
|
||||||
|
|
||||||
|
default (Double, Integer)
|
9
test/fixtures/haskell/corpus/default-declaration.diffA-B.txt
vendored
Normal file
9
test/fixtures/haskell/corpus/default-declaration.diffA-B.txt
vendored
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
(Module
|
||||||
|
(ModuleIdentifier)
|
||||||
|
(Statements
|
||||||
|
(DefaultDeclaration
|
||||||
|
{+(TypeConstructorIdentifier)+}
|
||||||
|
{+(TypeConstructorIdentifier)+})
|
||||||
|
{-(DefaultDeclaration
|
||||||
|
{-(TypeConstructorIdentifier)-}
|
||||||
|
{-(TypeConstructorIdentifier)-})-}))
|
9
test/fixtures/haskell/corpus/default-declaration.diffB-A.txt
vendored
Normal file
9
test/fixtures/haskell/corpus/default-declaration.diffB-A.txt
vendored
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
(Module
|
||||||
|
(ModuleIdentifier)
|
||||||
|
(Statements
|
||||||
|
(DefaultDeclaration
|
||||||
|
{-(TypeConstructorIdentifier)-}
|
||||||
|
{-(TypeConstructorIdentifier)-})
|
||||||
|
{+(DefaultDeclaration
|
||||||
|
{+(TypeConstructorIdentifier)+}
|
||||||
|
{+(TypeConstructorIdentifier)+})+}))
|
7
test/fixtures/haskell/corpus/default-declaration.parseA.txt
vendored
Normal file
7
test/fixtures/haskell/corpus/default-declaration.parseA.txt
vendored
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
(Module
|
||||||
|
(ModuleIdentifier)
|
||||||
|
(Statements
|
||||||
|
(DefaultDeclaration)
|
||||||
|
(DefaultDeclaration
|
||||||
|
(TypeConstructorIdentifier)
|
||||||
|
(TypeConstructorIdentifier))))
|
6
test/fixtures/haskell/corpus/default-declaration.parseB.txt
vendored
Normal file
6
test/fixtures/haskell/corpus/default-declaration.parseB.txt
vendored
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
(Module
|
||||||
|
(ModuleIdentifier)
|
||||||
|
(Statements
|
||||||
|
(DefaultDeclaration
|
||||||
|
(TypeConstructorIdentifier)
|
||||||
|
(TypeConstructorIdentifier))))
|
@ -4,89 +4,89 @@
|
|||||||
(GADT
|
(GADT
|
||||||
(Empty)
|
(Empty)
|
||||||
(Type
|
(Type
|
||||||
{ (Identifier)
|
{ (TypeConstructorIdentifier)
|
||||||
->(Identifier) }
|
->(TypeConstructorIdentifier) }
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(Identifier))
|
(TypeVariableIdentifier))
|
||||||
(Empty))
|
(Empty))
|
||||||
(Statements
|
(Statements
|
||||||
(GADTConstructor
|
(GADTConstructor
|
||||||
(Empty)
|
(Empty)
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(FunctionType
|
(FunctionType
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty))
|
(Empty))
|
||||||
(FunctionType
|
(FunctionType
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty))
|
(Empty))
|
||||||
(FunctionType
|
(FunctionType
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty))
|
(Empty))
|
||||||
(Type
|
(Type
|
||||||
{ (Identifier)
|
{ (TypeConstructorIdentifier)
|
||||||
->(Identifier) }
|
->(TypeConstructorIdentifier) }
|
||||||
(TypeParameters
|
(TypeParameters
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(Identifier))
|
(TypeVariableIdentifier))
|
||||||
(Empty))))))))
|
(Empty))))))))
|
||||||
(GADT
|
(GADT
|
||||||
(Empty)
|
(Empty)
|
||||||
(Type
|
(Type
|
||||||
{ (Identifier)
|
{ (TypeConstructorIdentifier)
|
||||||
->(Identifier) }
|
->(TypeConstructorIdentifier) }
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(Identifier))
|
(TypeVariableIdentifier))
|
||||||
(Empty))
|
(Empty))
|
||||||
(Statements
|
(Statements
|
||||||
(GADTConstructor
|
(GADTConstructor
|
||||||
(Empty)
|
(Empty)
|
||||||
{ (Identifier)
|
{ (TypeConstructorIdentifier)
|
||||||
->(Identifier) }
|
->(TypeConstructorIdentifier) }
|
||||||
(FunctionType
|
(FunctionType
|
||||||
(Type
|
(Type
|
||||||
(Statements
|
(Statements
|
||||||
(Field
|
(Field
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier))
|
(VariableIdentifier))
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters
|
(TypeParameters
|
||||||
(Identifier))
|
(TypeConstructorIdentifier))
|
||||||
(Empty)))
|
(Empty)))
|
||||||
(Field
|
(Field
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier))
|
(VariableIdentifier))
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(TypeParameters
|
(TypeParameters
|
||||||
(Identifier))
|
(TypeVariableIdentifier))
|
||||||
(Empty))))
|
(Empty))))
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty))
|
(Empty))
|
||||||
(Type
|
(Type
|
||||||
{ (Identifier)
|
{ (TypeConstructorIdentifier)
|
||||||
->(Identifier) }
|
->(TypeConstructorIdentifier) }
|
||||||
(TypeParameters
|
(TypeParameters
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(Identifier))
|
(TypeVariableIdentifier))
|
||||||
(Empty))))))
|
(Empty))))))
|
||||||
(GADT
|
(GADT
|
||||||
(Empty)
|
(Empty)
|
||||||
(Type
|
(Type
|
||||||
{ (Identifier)
|
{ (TypeConstructorIdentifier)
|
||||||
->(Identifier) }
|
->(TypeConstructorIdentifier) }
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier))
|
(TypeVariableIdentifier))
|
||||||
(KindSignature
|
(KindSignature
|
||||||
(KindFunctionType
|
(KindFunctionType
|
||||||
(Kind
|
(Kind
|
||||||
@ -100,75 +100,75 @@
|
|||||||
(GADT
|
(GADT
|
||||||
(Empty)
|
(Empty)
|
||||||
(Type
|
(Type
|
||||||
{ (Identifier)
|
{ (TypeConstructorIdentifier)
|
||||||
->(Identifier) }
|
->(TypeConstructorIdentifier) }
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier))
|
(TypeVariableIdentifier))
|
||||||
(Empty))
|
(Empty))
|
||||||
(Statements
|
(Statements
|
||||||
(GADTConstructor
|
(GADTConstructor
|
||||||
(Empty)
|
(Empty)
|
||||||
{ (Identifier)
|
{ (TypeConstructorIdentifier)
|
||||||
->(Identifier) }
|
->(TypeConstructorIdentifier) }
|
||||||
(FunctionType
|
(FunctionType
|
||||||
(Type
|
(Type
|
||||||
(StrictType
|
(StrictType
|
||||||
(QualifiedTypeConstructorIdentifier
|
(QualifiedTypeConstructorIdentifier
|
||||||
(Identifier)
|
(ModuleIdentifier)
|
||||||
(Identifier))
|
(TypeConstructorIdentifier))
|
||||||
(TypeParameters))
|
(TypeParameters))
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty))
|
(Empty))
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters
|
(TypeParameters
|
||||||
(QualifiedTypeConstructorIdentifier
|
(QualifiedTypeConstructorIdentifier
|
||||||
(Identifier)
|
(ModuleIdentifier)
|
||||||
(Identifier)))
|
(TypeConstructorIdentifier)))
|
||||||
(Empty))))
|
(Empty))))
|
||||||
(GADTConstructor
|
(GADTConstructor
|
||||||
(Empty)
|
(Empty)
|
||||||
{ (Identifier)
|
{ (TypeConstructorIdentifier)
|
||||||
->(Identifier) }
|
->(TypeConstructorIdentifier) }
|
||||||
(FunctionType
|
(FunctionType
|
||||||
(Type
|
(Type
|
||||||
(StrictType
|
(StrictType
|
||||||
(QualifiedTypeConstructorIdentifier
|
(QualifiedTypeConstructorIdentifier
|
||||||
(Identifier)
|
(ModuleIdentifier)
|
||||||
(Identifier))
|
(TypeConstructorIdentifier))
|
||||||
(TypeParameters))
|
(TypeParameters))
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty))
|
(Empty))
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters
|
(TypeParameters
|
||||||
(QualifiedTypeConstructorIdentifier
|
(QualifiedTypeConstructorIdentifier
|
||||||
(Identifier)
|
(ModuleIdentifier)
|
||||||
(Identifier)))
|
(TypeConstructorIdentifier)))
|
||||||
(Empty))))
|
(Empty))))
|
||||||
(GADTConstructor
|
(GADTConstructor
|
||||||
(Empty)
|
(Empty)
|
||||||
{ (Identifier)
|
{ (TypeConstructorIdentifier)
|
||||||
->(Identifier) }
|
->(TypeConstructorIdentifier) }
|
||||||
(FunctionType
|
(FunctionType
|
||||||
(Type
|
(Type
|
||||||
(StrictType
|
(StrictType
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters))
|
(TypeParameters))
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty))
|
(Empty))
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters
|
(TypeParameters
|
||||||
(Identifier))
|
(TypeConstructorIdentifier))
|
||||||
(Empty))))))
|
(Empty))))))
|
||||||
(GADT
|
(GADT
|
||||||
(Empty)
|
(Empty)
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(AnnotatedTypeVariable
|
(AnnotatedTypeVariable
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(KindListType
|
(KindListType
|
||||||
(KindFunctionType
|
(KindFunctionType
|
||||||
(Kind
|
(Kind
|
||||||
@ -176,32 +176,32 @@
|
|||||||
(Kind
|
(Kind
|
||||||
(Star)))))
|
(Star)))))
|
||||||
(AnnotatedTypeVariable
|
(AnnotatedTypeVariable
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(Star)))
|
(Star)))
|
||||||
(Empty))
|
(Empty))
|
||||||
(Statements
|
(Statements
|
||||||
(GADTConstructor
|
(GADTConstructor
|
||||||
(Empty)
|
(Empty)
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(Context
|
(Context
|
||||||
(Pragma)
|
(Pragma)
|
||||||
(FunctionType
|
(FunctionType
|
||||||
(Type
|
(Type
|
||||||
(StrictType
|
(StrictType
|
||||||
{ (Identifier)
|
{ (TypeConstructorIdentifier)
|
||||||
->(Identifier) }
|
->(TypeConstructorIdentifier) }
|
||||||
(TypeParameters))
|
(TypeParameters))
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty))
|
(Empty))
|
||||||
(FunctionType
|
(FunctionType
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(TypeParameters
|
(TypeParameters
|
||||||
(Identifier))
|
(TypeVariableIdentifier))
|
||||||
(Empty))
|
(Empty))
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters
|
(TypeParameters
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(Identifier))
|
(TypeVariableIdentifier))
|
||||||
(Empty))))))))))
|
(Empty))))))))))
|
||||||
|
@ -4,89 +4,89 @@
|
|||||||
(GADT
|
(GADT
|
||||||
(Empty)
|
(Empty)
|
||||||
(Type
|
(Type
|
||||||
{ (Identifier)
|
{ (TypeConstructorIdentifier)
|
||||||
->(Identifier) }
|
->(TypeConstructorIdentifier) }
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(Identifier))
|
(TypeVariableIdentifier))
|
||||||
(Empty))
|
(Empty))
|
||||||
(Statements
|
(Statements
|
||||||
(GADTConstructor
|
(GADTConstructor
|
||||||
(Empty)
|
(Empty)
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(FunctionType
|
(FunctionType
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty))
|
(Empty))
|
||||||
(FunctionType
|
(FunctionType
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty))
|
(Empty))
|
||||||
(FunctionType
|
(FunctionType
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty))
|
(Empty))
|
||||||
(Type
|
(Type
|
||||||
{ (Identifier)
|
{ (TypeConstructorIdentifier)
|
||||||
->(Identifier) }
|
->(TypeConstructorIdentifier) }
|
||||||
(TypeParameters
|
(TypeParameters
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(Identifier))
|
(TypeVariableIdentifier))
|
||||||
(Empty))))))))
|
(Empty))))))))
|
||||||
(GADT
|
(GADT
|
||||||
(Empty)
|
(Empty)
|
||||||
(Type
|
(Type
|
||||||
{ (Identifier)
|
{ (TypeConstructorIdentifier)
|
||||||
->(Identifier) }
|
->(TypeConstructorIdentifier) }
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(Identifier))
|
(TypeVariableIdentifier))
|
||||||
(Empty))
|
(Empty))
|
||||||
(Statements
|
(Statements
|
||||||
(GADTConstructor
|
(GADTConstructor
|
||||||
(Empty)
|
(Empty)
|
||||||
{ (Identifier)
|
{ (TypeConstructorIdentifier)
|
||||||
->(Identifier) }
|
->(TypeConstructorIdentifier) }
|
||||||
(FunctionType
|
(FunctionType
|
||||||
(Type
|
(Type
|
||||||
(Statements
|
(Statements
|
||||||
(Field
|
(Field
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier))
|
(VariableIdentifier))
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters
|
(TypeParameters
|
||||||
(Identifier))
|
(TypeConstructorIdentifier))
|
||||||
(Empty)))
|
(Empty)))
|
||||||
(Field
|
(Field
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier))
|
(VariableIdentifier))
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(TypeParameters
|
(TypeParameters
|
||||||
(Identifier))
|
(TypeVariableIdentifier))
|
||||||
(Empty))))
|
(Empty))))
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty))
|
(Empty))
|
||||||
(Type
|
(Type
|
||||||
{ (Identifier)
|
{ (TypeConstructorIdentifier)
|
||||||
->(Identifier) }
|
->(TypeConstructorIdentifier) }
|
||||||
(TypeParameters
|
(TypeParameters
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(Identifier))
|
(TypeVariableIdentifier))
|
||||||
(Empty))))))
|
(Empty))))))
|
||||||
(GADT
|
(GADT
|
||||||
(Empty)
|
(Empty)
|
||||||
(Type
|
(Type
|
||||||
{ (Identifier)
|
{ (TypeConstructorIdentifier)
|
||||||
->(Identifier) }
|
->(TypeConstructorIdentifier) }
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier))
|
(TypeVariableIdentifier))
|
||||||
(KindSignature
|
(KindSignature
|
||||||
(KindFunctionType
|
(KindFunctionType
|
||||||
(Kind
|
(Kind
|
||||||
@ -100,75 +100,75 @@
|
|||||||
(GADT
|
(GADT
|
||||||
(Empty)
|
(Empty)
|
||||||
(Type
|
(Type
|
||||||
{ (Identifier)
|
{ (TypeConstructorIdentifier)
|
||||||
->(Identifier) }
|
->(TypeConstructorIdentifier) }
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier))
|
(TypeVariableIdentifier))
|
||||||
(Empty))
|
(Empty))
|
||||||
(Statements
|
(Statements
|
||||||
(GADTConstructor
|
(GADTConstructor
|
||||||
(Empty)
|
(Empty)
|
||||||
{ (Identifier)
|
{ (TypeConstructorIdentifier)
|
||||||
->(Identifier) }
|
->(TypeConstructorIdentifier) }
|
||||||
(FunctionType
|
(FunctionType
|
||||||
(Type
|
(Type
|
||||||
(StrictType
|
(StrictType
|
||||||
(QualifiedTypeConstructorIdentifier
|
(QualifiedTypeConstructorIdentifier
|
||||||
(Identifier)
|
(ModuleIdentifier)
|
||||||
(Identifier))
|
(TypeConstructorIdentifier))
|
||||||
(TypeParameters))
|
(TypeParameters))
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty))
|
(Empty))
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters
|
(TypeParameters
|
||||||
(QualifiedTypeConstructorIdentifier
|
(QualifiedTypeConstructorIdentifier
|
||||||
(Identifier)
|
(ModuleIdentifier)
|
||||||
(Identifier)))
|
(TypeConstructorIdentifier)))
|
||||||
(Empty))))
|
(Empty))))
|
||||||
(GADTConstructor
|
(GADTConstructor
|
||||||
(Empty)
|
(Empty)
|
||||||
{ (Identifier)
|
{ (TypeConstructorIdentifier)
|
||||||
->(Identifier) }
|
->(TypeConstructorIdentifier) }
|
||||||
(FunctionType
|
(FunctionType
|
||||||
(Type
|
(Type
|
||||||
(StrictType
|
(StrictType
|
||||||
(QualifiedTypeConstructorIdentifier
|
(QualifiedTypeConstructorIdentifier
|
||||||
(Identifier)
|
(ModuleIdentifier)
|
||||||
(Identifier))
|
(TypeConstructorIdentifier))
|
||||||
(TypeParameters))
|
(TypeParameters))
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty))
|
(Empty))
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters
|
(TypeParameters
|
||||||
(QualifiedTypeConstructorIdentifier
|
(QualifiedTypeConstructorIdentifier
|
||||||
(Identifier)
|
(ModuleIdentifier)
|
||||||
(Identifier)))
|
(TypeConstructorIdentifier)))
|
||||||
(Empty))))
|
(Empty))))
|
||||||
(GADTConstructor
|
(GADTConstructor
|
||||||
(Empty)
|
(Empty)
|
||||||
{ (Identifier)
|
{ (TypeConstructorIdentifier)
|
||||||
->(Identifier) }
|
->(TypeConstructorIdentifier) }
|
||||||
(FunctionType
|
(FunctionType
|
||||||
(Type
|
(Type
|
||||||
(StrictType
|
(StrictType
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters))
|
(TypeParameters))
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty))
|
(Empty))
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters
|
(TypeParameters
|
||||||
(Identifier))
|
(TypeConstructorIdentifier))
|
||||||
(Empty))))))
|
(Empty))))))
|
||||||
(GADT
|
(GADT
|
||||||
(Empty)
|
(Empty)
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(AnnotatedTypeVariable
|
(AnnotatedTypeVariable
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(KindListType
|
(KindListType
|
||||||
(KindFunctionType
|
(KindFunctionType
|
||||||
(Kind
|
(Kind
|
||||||
@ -176,32 +176,32 @@
|
|||||||
(Kind
|
(Kind
|
||||||
(Star)))))
|
(Star)))))
|
||||||
(AnnotatedTypeVariable
|
(AnnotatedTypeVariable
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(Star)))
|
(Star)))
|
||||||
(Empty))
|
(Empty))
|
||||||
(Statements
|
(Statements
|
||||||
(GADTConstructor
|
(GADTConstructor
|
||||||
(Empty)
|
(Empty)
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(Context
|
(Context
|
||||||
(Pragma)
|
(Pragma)
|
||||||
(FunctionType
|
(FunctionType
|
||||||
(Type
|
(Type
|
||||||
(StrictType
|
(StrictType
|
||||||
{ (Identifier)
|
{ (TypeConstructorIdentifier)
|
||||||
->(Identifier) }
|
->(TypeConstructorIdentifier) }
|
||||||
(TypeParameters))
|
(TypeParameters))
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty))
|
(Empty))
|
||||||
(FunctionType
|
(FunctionType
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(TypeParameters
|
(TypeParameters
|
||||||
(Identifier))
|
(TypeVariableIdentifier))
|
||||||
(Empty))
|
(Empty))
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters
|
(TypeParameters
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(Identifier))
|
(TypeVariableIdentifier))
|
||||||
(Empty))))))))))
|
(Empty))))))))))
|
||||||
|
@ -4,83 +4,83 @@
|
|||||||
(GADT
|
(GADT
|
||||||
(Empty)
|
(Empty)
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(Identifier))
|
(TypeVariableIdentifier))
|
||||||
(Empty))
|
(Empty))
|
||||||
(Statements
|
(Statements
|
||||||
(GADTConstructor
|
(GADTConstructor
|
||||||
(Empty)
|
(Empty)
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(FunctionType
|
(FunctionType
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty))
|
(Empty))
|
||||||
(FunctionType
|
(FunctionType
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty))
|
(Empty))
|
||||||
(FunctionType
|
(FunctionType
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty))
|
(Empty))
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters
|
(TypeParameters
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(Identifier))
|
(TypeVariableIdentifier))
|
||||||
(Empty))))))))
|
(Empty))))))))
|
||||||
(GADT
|
(GADT
|
||||||
(Empty)
|
(Empty)
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(Identifier))
|
(TypeVariableIdentifier))
|
||||||
(Empty))
|
(Empty))
|
||||||
(Statements
|
(Statements
|
||||||
(GADTConstructor
|
(GADTConstructor
|
||||||
(Empty)
|
(Empty)
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(FunctionType
|
(FunctionType
|
||||||
(Type
|
(Type
|
||||||
(Statements
|
(Statements
|
||||||
(Field
|
(Field
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier))
|
(VariableIdentifier))
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters
|
(TypeParameters
|
||||||
(Identifier))
|
(TypeConstructorIdentifier))
|
||||||
(Empty)))
|
(Empty)))
|
||||||
(Field
|
(Field
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier))
|
(VariableIdentifier))
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(TypeParameters
|
(TypeParameters
|
||||||
(Identifier))
|
(TypeVariableIdentifier))
|
||||||
(Empty))))
|
(Empty))))
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty))
|
(Empty))
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters
|
(TypeParameters
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(Identifier))
|
(TypeVariableIdentifier))
|
||||||
(Empty))))))
|
(Empty))))))
|
||||||
(GADT
|
(GADT
|
||||||
(Empty)
|
(Empty)
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier))
|
(TypeVariableIdentifier))
|
||||||
(KindSignature
|
(KindSignature
|
||||||
(KindFunctionType
|
(KindFunctionType
|
||||||
(Kind
|
(Kind
|
||||||
@ -92,71 +92,71 @@
|
|||||||
(GADT
|
(GADT
|
||||||
(Empty)
|
(Empty)
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier))
|
(TypeVariableIdentifier))
|
||||||
(Empty))
|
(Empty))
|
||||||
(Statements
|
(Statements
|
||||||
(GADTConstructor
|
(GADTConstructor
|
||||||
(Empty)
|
(Empty)
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(FunctionType
|
(FunctionType
|
||||||
(Type
|
(Type
|
||||||
(StrictType
|
(StrictType
|
||||||
(QualifiedTypeConstructorIdentifier
|
(QualifiedTypeConstructorIdentifier
|
||||||
(Identifier)
|
(ModuleIdentifier)
|
||||||
(Identifier))
|
(TypeConstructorIdentifier))
|
||||||
(TypeParameters))
|
(TypeParameters))
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty))
|
(Empty))
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters
|
(TypeParameters
|
||||||
(QualifiedTypeConstructorIdentifier
|
(QualifiedTypeConstructorIdentifier
|
||||||
(Identifier)
|
(ModuleIdentifier)
|
||||||
(Identifier)))
|
(TypeConstructorIdentifier)))
|
||||||
(Empty))))
|
(Empty))))
|
||||||
(GADTConstructor
|
(GADTConstructor
|
||||||
(Empty)
|
(Empty)
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(FunctionType
|
(FunctionType
|
||||||
(Type
|
(Type
|
||||||
(StrictType
|
(StrictType
|
||||||
(QualifiedTypeConstructorIdentifier
|
(QualifiedTypeConstructorIdentifier
|
||||||
(Identifier)
|
(ModuleIdentifier)
|
||||||
(Identifier))
|
(TypeConstructorIdentifier))
|
||||||
(TypeParameters))
|
(TypeParameters))
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty))
|
(Empty))
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters
|
(TypeParameters
|
||||||
(QualifiedTypeConstructorIdentifier
|
(QualifiedTypeConstructorIdentifier
|
||||||
(Identifier)
|
(ModuleIdentifier)
|
||||||
(Identifier)))
|
(TypeConstructorIdentifier)))
|
||||||
(Empty))))
|
(Empty))))
|
||||||
(GADTConstructor
|
(GADTConstructor
|
||||||
(Empty)
|
(Empty)
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(FunctionType
|
(FunctionType
|
||||||
(Type
|
(Type
|
||||||
(StrictType
|
(StrictType
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters))
|
(TypeParameters))
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty))
|
(Empty))
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters
|
(TypeParameters
|
||||||
(Identifier))
|
(TypeConstructorIdentifier))
|
||||||
(Empty))))))
|
(Empty))))))
|
||||||
(GADT
|
(GADT
|
||||||
(Empty)
|
(Empty)
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(AnnotatedTypeVariable
|
(AnnotatedTypeVariable
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(KindListType
|
(KindListType
|
||||||
(KindFunctionType
|
(KindFunctionType
|
||||||
(Kind
|
(Kind
|
||||||
@ -164,31 +164,31 @@
|
|||||||
(Kind
|
(Kind
|
||||||
(Star)))))
|
(Star)))))
|
||||||
(AnnotatedTypeVariable
|
(AnnotatedTypeVariable
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(Star)))
|
(Star)))
|
||||||
(Empty))
|
(Empty))
|
||||||
(Statements
|
(Statements
|
||||||
(GADTConstructor
|
(GADTConstructor
|
||||||
(Empty)
|
(Empty)
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(Context
|
(Context
|
||||||
(Pragma)
|
(Pragma)
|
||||||
(FunctionType
|
(FunctionType
|
||||||
(Type
|
(Type
|
||||||
(StrictType
|
(StrictType
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters))
|
(TypeParameters))
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty))
|
(Empty))
|
||||||
(FunctionType
|
(FunctionType
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(TypeParameters
|
(TypeParameters
|
||||||
(Identifier))
|
(TypeVariableIdentifier))
|
||||||
(Empty))
|
(Empty))
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters
|
(TypeParameters
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(Identifier))
|
(TypeVariableIdentifier))
|
||||||
(Empty))))))))))
|
(Empty))))))))))
|
||||||
|
@ -4,83 +4,83 @@
|
|||||||
(GADT
|
(GADT
|
||||||
(Empty)
|
(Empty)
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(Identifier))
|
(TypeVariableIdentifier))
|
||||||
(Empty))
|
(Empty))
|
||||||
(Statements
|
(Statements
|
||||||
(GADTConstructor
|
(GADTConstructor
|
||||||
(Empty)
|
(Empty)
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(FunctionType
|
(FunctionType
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty))
|
(Empty))
|
||||||
(FunctionType
|
(FunctionType
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty))
|
(Empty))
|
||||||
(FunctionType
|
(FunctionType
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty))
|
(Empty))
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters
|
(TypeParameters
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(Identifier))
|
(TypeVariableIdentifier))
|
||||||
(Empty))))))))
|
(Empty))))))))
|
||||||
(GADT
|
(GADT
|
||||||
(Empty)
|
(Empty)
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(Identifier))
|
(TypeVariableIdentifier))
|
||||||
(Empty))
|
(Empty))
|
||||||
(Statements
|
(Statements
|
||||||
(GADTConstructor
|
(GADTConstructor
|
||||||
(Empty)
|
(Empty)
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(FunctionType
|
(FunctionType
|
||||||
(Type
|
(Type
|
||||||
(Statements
|
(Statements
|
||||||
(Field
|
(Field
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier))
|
(VariableIdentifier))
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters
|
(TypeParameters
|
||||||
(Identifier))
|
(TypeConstructorIdentifier))
|
||||||
(Empty)))
|
(Empty)))
|
||||||
(Field
|
(Field
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier))
|
(VariableIdentifier))
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(TypeParameters
|
(TypeParameters
|
||||||
(Identifier))
|
(TypeVariableIdentifier))
|
||||||
(Empty))))
|
(Empty))))
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty))
|
(Empty))
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters
|
(TypeParameters
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(Identifier))
|
(TypeVariableIdentifier))
|
||||||
(Empty))))))
|
(Empty))))))
|
||||||
(GADT
|
(GADT
|
||||||
(Empty)
|
(Empty)
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier))
|
(TypeVariableIdentifier))
|
||||||
(KindSignature
|
(KindSignature
|
||||||
(KindFunctionType
|
(KindFunctionType
|
||||||
(Kind
|
(Kind
|
||||||
@ -93,71 +93,71 @@
|
|||||||
(GADT
|
(GADT
|
||||||
(Empty)
|
(Empty)
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier))
|
(TypeVariableIdentifier))
|
||||||
(Empty))
|
(Empty))
|
||||||
(Statements
|
(Statements
|
||||||
(GADTConstructor
|
(GADTConstructor
|
||||||
(Empty)
|
(Empty)
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(FunctionType
|
(FunctionType
|
||||||
(Type
|
(Type
|
||||||
(StrictType
|
(StrictType
|
||||||
(QualifiedTypeConstructorIdentifier
|
(QualifiedTypeConstructorIdentifier
|
||||||
(Identifier)
|
(ModuleIdentifier)
|
||||||
(Identifier))
|
(TypeConstructorIdentifier))
|
||||||
(TypeParameters))
|
(TypeParameters))
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty))
|
(Empty))
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters
|
(TypeParameters
|
||||||
(QualifiedTypeConstructorIdentifier
|
(QualifiedTypeConstructorIdentifier
|
||||||
(Identifier)
|
(ModuleIdentifier)
|
||||||
(Identifier)))
|
(TypeConstructorIdentifier)))
|
||||||
(Empty))))
|
(Empty))))
|
||||||
(GADTConstructor
|
(GADTConstructor
|
||||||
(Empty)
|
(Empty)
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(FunctionType
|
(FunctionType
|
||||||
(Type
|
(Type
|
||||||
(StrictType
|
(StrictType
|
||||||
(QualifiedTypeConstructorIdentifier
|
(QualifiedTypeConstructorIdentifier
|
||||||
(Identifier)
|
(ModuleIdentifier)
|
||||||
(Identifier))
|
(TypeConstructorIdentifier))
|
||||||
(TypeParameters))
|
(TypeParameters))
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty))
|
(Empty))
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters
|
(TypeParameters
|
||||||
(QualifiedTypeConstructorIdentifier
|
(QualifiedTypeConstructorIdentifier
|
||||||
(Identifier)
|
(ModuleIdentifier)
|
||||||
(Identifier)))
|
(TypeConstructorIdentifier)))
|
||||||
(Empty))))
|
(Empty))))
|
||||||
(GADTConstructor
|
(GADTConstructor
|
||||||
(Empty)
|
(Empty)
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(FunctionType
|
(FunctionType
|
||||||
(Type
|
(Type
|
||||||
(StrictType
|
(StrictType
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters))
|
(TypeParameters))
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty))
|
(Empty))
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters
|
(TypeParameters
|
||||||
(Identifier))
|
(TypeConstructorIdentifier))
|
||||||
(Empty))))))
|
(Empty))))))
|
||||||
(GADT
|
(GADT
|
||||||
(Empty)
|
(Empty)
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(AnnotatedTypeVariable
|
(AnnotatedTypeVariable
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(KindListType
|
(KindListType
|
||||||
(KindFunctionType
|
(KindFunctionType
|
||||||
(Kind
|
(Kind
|
||||||
@ -165,31 +165,31 @@
|
|||||||
(Kind
|
(Kind
|
||||||
(Star)))))
|
(Star)))))
|
||||||
(AnnotatedTypeVariable
|
(AnnotatedTypeVariable
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(Star)))
|
(Star)))
|
||||||
(Empty))
|
(Empty))
|
||||||
(Statements
|
(Statements
|
||||||
(GADTConstructor
|
(GADTConstructor
|
||||||
(Empty)
|
(Empty)
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(Context
|
(Context
|
||||||
(Pragma)
|
(Pragma)
|
||||||
(FunctionType
|
(FunctionType
|
||||||
(Type
|
(Type
|
||||||
(StrictType
|
(StrictType
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters))
|
(TypeParameters))
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty))
|
(Empty))
|
||||||
(FunctionType
|
(FunctionType
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(TypeParameters
|
(TypeParameters
|
||||||
(Identifier))
|
(TypeVariableIdentifier))
|
||||||
(Empty))
|
(Empty))
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters
|
(TypeParameters
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(Identifier))
|
(TypeVariableIdentifier))
|
||||||
(Empty))))))))))
|
(Empty))))))))))
|
||||||
|
266
test/fixtures/haskell/corpus/literals.diffA-B.txt
vendored
266
test/fixtures/haskell/corpus/literals.diffA-B.txt
vendored
@ -1,232 +1,232 @@
|
|||||||
(Module
|
(Module
|
||||||
(Identifier)
|
(ModuleIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Integer)+})+})+}
|
{+(Integer)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Integer)+})+})+}
|
{+(Integer)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Integer)+})+})+}
|
{+(Integer)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Integer)+})+})+}
|
{+(Integer)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Integer)+})+})+}
|
{+(Integer)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Integer)+})+})+}
|
{+(Integer)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Float)+})+})+}
|
{+(Float)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Float)+})+})+}
|
{+(Float)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Float)+})+})+}
|
{+(Float)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Float)+})+})+}
|
{+(Float)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Float)+})+})+}
|
{+(Float)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Float)+})+})+}
|
{+(Float)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Float)+})+})+}
|
{+(Float)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Float)+})+})+}
|
{+(Float)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Float)+})+})+}
|
{+(Float)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Float)+})+})+}
|
{+(Float)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Float)+})+})+}
|
{+(Float)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Float)+})+})+}
|
{+(Float)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Float)+})+})+}
|
{+(Float)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Float)+})+})+}
|
{+(Float)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Identifier)+})+})+}
|
{+(VariableIdentifier)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Identifier)+})+})+}
|
{+(VariableIdentifier)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Identifier)+})+})+}
|
{+(VariableIdentifier)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Identifier)+})+})+}
|
{+(VariableIdentifier)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Identifier)+})+})+}
|
{+(VariableIdentifier)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Identifier)+})+})+}
|
{+(VariableIdentifier)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Identifier)+})+})+}
|
{+(VariableIdentifier)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Identifier)+})+})+}
|
{+(ConstructorIdentifier)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Identifier)+})+})+}
|
{+(ConstructorIdentifier)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Character)+})+})+}
|
{+(Character)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Character)+})+})+}
|
{+(Character)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Character)+})+})+}
|
{+(Character)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Character)+})+})+}
|
{+(Character)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Character)+})+})+}
|
{+(Character)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Character)+})+})+}
|
{+(Character)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Character)+})+})+}
|
{+(Character)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Character)+})+})+}
|
{+(Character)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Character)+})+})+}
|
{+(Character)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Character)+})+})+}
|
{+(Character)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Character)+})+})+}
|
{+(Character)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Character)+})+})+}
|
{+(Character)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Character)+})+})+}
|
{+(Character)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Character)+})+})+}
|
{+(Character)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Character)+})+})+}
|
{+(Character)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Character)+})+})+}
|
{+(Character)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Character)+})+})+}
|
{+(Character)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Character)+})+})+}
|
{+(Character)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Character)+})+})+}
|
{+(Character)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Character)+})+})+}
|
{+(Character)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Character)+})+})+}
|
{+(Character)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Character)+})+})+}
|
{+(Character)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Character)+})+})+}
|
{+(Character)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Character)+})+})+}
|
{+(Character)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Character)+})+})+}
|
{+(Character)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Character)+})+})+}
|
{+(Character)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Character)+})+})+}
|
{+(Character)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Array
|
{+(Array
|
||||||
{+(TextElement)+}
|
{+(TextElement)+}
|
||||||
@ -264,231 +264,231 @@
|
|||||||
{+(TextElement)+}
|
{+(TextElement)+}
|
||||||
{+(TextElement)+})+})+})+}
|
{+(TextElement)+})+})+})+}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Integer)-})-})-}
|
{-(Integer)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Integer)-})-})-}
|
{-(Integer)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Integer)-})-})-}
|
{-(Integer)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Integer)-})-})-}
|
{-(Integer)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Integer)-})-})-}
|
{-(Integer)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Integer)-})-})-}
|
{-(Integer)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Float)-})-})-}
|
{-(Float)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Float)-})-})-}
|
{-(Float)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Float)-})-})-}
|
{-(Float)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Float)-})-})-}
|
{-(Float)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Float)-})-})-}
|
{-(Float)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Float)-})-})-}
|
{-(Float)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Float)-})-})-}
|
{-(Float)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Float)-})-})-}
|
{-(Float)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Float)-})-})-}
|
{-(Float)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Float)-})-})-}
|
{-(Float)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Float)-})-})-}
|
{-(Float)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Float)-})-})-}
|
{-(Float)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Float)-})-})-}
|
{-(Float)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Float)-})-})-}
|
{-(Float)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Identifier)-})-})-}
|
{-(VariableIdentifier)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Identifier)-})-})-}
|
{-(VariableIdentifier)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Identifier)-})-})-}
|
{-(VariableIdentifier)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Identifier)-})-})-}
|
{-(VariableIdentifier)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Identifier)-})-})-}
|
{-(VariableIdentifier)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Identifier)-})-})-}
|
{-(VariableIdentifier)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Identifier)-})-})-}
|
{-(VariableIdentifier)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Identifier)-})-})-}
|
{-(ConstructorIdentifier)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Identifier)-})-})-}
|
{-(ConstructorIdentifier)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Character)-})-})-}
|
{-(Character)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Character)-})-})-}
|
{-(Character)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Character)-})-})-}
|
{-(Character)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Character)-})-})-}
|
{-(Character)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Character)-})-})-}
|
{-(Character)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Character)-})-})-}
|
{-(Character)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Character)-})-})-}
|
{-(Character)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Character)-})-})-}
|
{-(Character)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Character)-})-})-}
|
{-(Character)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Character)-})-})-}
|
{-(Character)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Character)-})-})-}
|
{-(Character)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Character)-})-})-}
|
{-(Character)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Character)-})-})-}
|
{-(Character)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Character)-})-})-}
|
{-(Character)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Character)-})-})-}
|
{-(Character)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Character)-})-})-}
|
{-(Character)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Character)-})-})-}
|
{-(Character)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Character)-})-})-}
|
{-(Character)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Character)-})-})-}
|
{-(Character)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Character)-})-})-}
|
{-(Character)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Character)-})-})-}
|
{-(Character)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Character)-})-})-}
|
{-(Character)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Character)-})-})-}
|
{-(Character)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Character)-})-})-}
|
{-(Character)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Character)-})-})-}
|
{-(Character)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Character)-})-})-}
|
{-(Character)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Character)-})-})-}
|
{-(Character)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Array
|
{-(Array
|
||||||
{-(TextElement)-}
|
{-(TextElement)-}
|
||||||
|
282
test/fixtures/haskell/corpus/literals.diffB-A.txt
vendored
282
test/fixtures/haskell/corpus/literals.diffB-A.txt
vendored
@ -1,232 +1,234 @@
|
|||||||
(Module
|
(Module
|
||||||
(Identifier)
|
(ModuleIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Integer)+})+})+}
|
{+(Integer)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Integer)+})+})+}
|
{+(Integer)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Integer)+})+})+}
|
{+(Integer)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Integer)+})+})+}
|
{+(Integer)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Integer)+})+})+}
|
{+(Integer)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Integer)+})+})+}
|
{+(Integer)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Float)+})+})+}
|
{+(Float)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Float)+})+})+}
|
{+(Float)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Float)+})+})+}
|
{+(Float)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Float)+})+})+}
|
{+(Float)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Float)+})+})+}
|
{+(Float)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Float)+})+})+}
|
{+(Float)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Float)+})+})+}
|
{+(Float)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Float)+})+})+}
|
{+(Float)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Float)+})+})+}
|
{+(Float)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Float)+})+})+}
|
{+(Float)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Float)+})+})+}
|
{+(Float)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Float)+})+})+}
|
{+(Float)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Float)+})+})+}
|
{+(Float)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Float)+})+})+}
|
{+(Float)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Identifier)+})+})+}
|
{+(VariableIdentifier)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Identifier)+})+})+}
|
{+(VariableIdentifier)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Identifier)+})+})+}
|
{+(VariableIdentifier)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Identifier)+})+})+}
|
{+(VariableIdentifier)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Identifier)+})+})+}
|
{+(VariableIdentifier)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Identifier)+})+})+}
|
{+(VariableIdentifier)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Identifier)+})+})+}
|
{+(VariableIdentifier)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Identifier)+})+})+}
|
{+(ConstructorIdentifier)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Identifier)+})+})+}
|
{+(ConstructorIdentifier)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
|
{+(Statements
|
||||||
|
{+(Character)+})+})+}
|
||||||
|
(Function
|
||||||
|
{ (VariableIdentifier)
|
||||||
|
->(VariableIdentifier) }
|
||||||
|
(Statements
|
||||||
|
{+(Character)+}
|
||||||
|
{-(Integer)-}))
|
||||||
|
{+(Function
|
||||||
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Character)+})+})+}
|
{+(Character)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Character)+})+})+}
|
{+(Character)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Character)+})+})+}
|
{+(Character)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Character)+})+})+}
|
{+(Character)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Character)+})+})+}
|
{+(Character)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Character)+})+})+}
|
{+(Character)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Character)+})+})+}
|
{+(Character)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Character)+})+})+}
|
{+(Character)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Character)+})+})+}
|
{+(Character)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Character)+})+})+}
|
{+(Character)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Character)+})+})+}
|
{+(Character)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Character)+})+})+}
|
{+(Character)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Character)+})+})+}
|
{+(Character)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Character)+})+})+}
|
{+(Character)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Character)+})+})+}
|
{+(Character)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Character)+})+})+}
|
{+(Character)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Character)+})+})+}
|
{+(Character)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Character)+})+})+}
|
{+(Character)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Character)+})+})+}
|
{+(Character)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Character)+})+})+}
|
{+(Character)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Character)+})+})+}
|
{+(Character)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Character)+})+})+}
|
{+(Character)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Character)+})+})+}
|
{+(Character)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Character)+})+})+}
|
{+(Character)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Character)+})+})+}
|
{+(Character)+})+})+}
|
||||||
{+(Function
|
{+(Function
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Statements
|
|
||||||
{+(Character)+})+})+}
|
|
||||||
{+(Function
|
|
||||||
{+(Identifier)+}
|
|
||||||
{+(Statements
|
|
||||||
{+(Character)+})+})+}
|
|
||||||
{+(Function
|
|
||||||
{+(Identifier)+}
|
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Array
|
{+(Array
|
||||||
{+(TextElement)+}
|
{+(TextElement)+}
|
||||||
@ -264,231 +266,227 @@
|
|||||||
{+(TextElement)+}
|
{+(TextElement)+}
|
||||||
{+(TextElement)+})+})+})+}
|
{+(TextElement)+})+})+})+}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Integer)-})-})-}
|
{-(Integer)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Integer)-})-})-}
|
{-(Integer)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Integer)-})-})-}
|
{-(Integer)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Integer)-})-})-}
|
{-(Integer)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Integer)-})-})-}
|
{-(Integer)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
|
||||||
{-(Integer)-})-})-}
|
|
||||||
{-(Function
|
|
||||||
{-(Identifier)-}
|
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Float)-})-})-}
|
{-(Float)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Float)-})-})-}
|
{-(Float)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Float)-})-})-}
|
{-(Float)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Float)-})-})-}
|
{-(Float)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Float)-})-})-}
|
{-(Float)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Float)-})-})-}
|
{-(Float)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Float)-})-})-}
|
{-(Float)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Float)-})-})-}
|
{-(Float)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Float)-})-})-}
|
{-(Float)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Float)-})-})-}
|
{-(Float)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Float)-})-})-}
|
{-(Float)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Float)-})-})-}
|
{-(Float)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Float)-})-})-}
|
{-(Float)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Float)-})-})-}
|
{-(Float)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Identifier)-})-})-}
|
{-(VariableIdentifier)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Identifier)-})-})-}
|
{-(VariableIdentifier)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Identifier)-})-})-}
|
{-(VariableIdentifier)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Identifier)-})-})-}
|
{-(VariableIdentifier)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Identifier)-})-})-}
|
{-(VariableIdentifier)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Identifier)-})-})-}
|
{-(VariableIdentifier)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Identifier)-})-})-}
|
{-(VariableIdentifier)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Identifier)-})-})-}
|
{-(ConstructorIdentifier)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Identifier)-})-})-}
|
{-(ConstructorIdentifier)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Character)-})-})-}
|
{-(Character)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Character)-})-})-}
|
{-(Character)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Character)-})-})-}
|
{-(Character)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Character)-})-})-}
|
{-(Character)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Character)-})-})-}
|
{-(Character)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Character)-})-})-}
|
{-(Character)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Character)-})-})-}
|
{-(Character)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Character)-})-})-}
|
{-(Character)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Character)-})-})-}
|
{-(Character)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Character)-})-})-}
|
{-(Character)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Character)-})-})-}
|
{-(Character)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Character)-})-})-}
|
{-(Character)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Character)-})-})-}
|
{-(Character)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Character)-})-})-}
|
{-(Character)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Character)-})-})-}
|
{-(Character)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Character)-})-})-}
|
{-(Character)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Character)-})-})-}
|
{-(Character)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Character)-})-})-}
|
{-(Character)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Character)-})-})-}
|
{-(Character)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Character)-})-})-}
|
{-(Character)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Character)-})-})-}
|
{-(Character)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Character)-})-})-}
|
{-(Character)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Character)-})-})-}
|
{-(Character)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Character)-})-})-}
|
{-(Character)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Character)-})-})-}
|
{-(Character)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Character)-})-})-}
|
{-(Character)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Character)-})-})-}
|
{-(Character)-})-})-}
|
||||||
{-(Function
|
{-(Function
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Array
|
{-(Array
|
||||||
{-(TextElement)-}
|
{-(TextElement)-}
|
||||||
|
134
test/fixtures/haskell/corpus/literals.parseA.txt
vendored
134
test/fixtures/haskell/corpus/literals.parseA.txt
vendored
@ -1,232 +1,232 @@
|
|||||||
(Module
|
(Module
|
||||||
(Identifier)
|
(ModuleIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Integer)))
|
(Integer)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Integer)))
|
(Integer)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Integer)))
|
(Integer)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Integer)))
|
(Integer)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Integer)))
|
(Integer)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Integer)))
|
(Integer)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Float)))
|
(Float)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Float)))
|
(Float)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Float)))
|
(Float)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Float)))
|
(Float)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Float)))
|
(Float)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Float)))
|
(Float)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Float)))
|
(Float)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Float)))
|
(Float)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Float)))
|
(Float)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Float)))
|
(Float)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Float)))
|
(Float)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Float)))
|
(Float)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Float)))
|
(Float)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Float)))
|
(Float)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier)))
|
(VariableIdentifier)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier)))
|
(VariableIdentifier)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier)))
|
(VariableIdentifier)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier)))
|
(VariableIdentifier)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier)))
|
(VariableIdentifier)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier)))
|
(VariableIdentifier)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier)))
|
(VariableIdentifier)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier)))
|
(ConstructorIdentifier)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier)))
|
(ConstructorIdentifier)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Character)))
|
(Character)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Character)))
|
(Character)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Character)))
|
(Character)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Character)))
|
(Character)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Character)))
|
(Character)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Character)))
|
(Character)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Character)))
|
(Character)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Character)))
|
(Character)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Character)))
|
(Character)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Character)))
|
(Character)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Character)))
|
(Character)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Character)))
|
(Character)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Character)))
|
(Character)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Character)))
|
(Character)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Character)))
|
(Character)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Character)))
|
(Character)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Character)))
|
(Character)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Character)))
|
(Character)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Character)))
|
(Character)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Character)))
|
(Character)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Character)))
|
(Character)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Character)))
|
(Character)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Character)))
|
(Character)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Character)))
|
(Character)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Character)))
|
(Character)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Character)))
|
(Character)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Character)))
|
(Character)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Array
|
(Array
|
||||||
(TextElement)
|
(TextElement)
|
||||||
|
134
test/fixtures/haskell/corpus/literals.parseB.txt
vendored
134
test/fixtures/haskell/corpus/literals.parseB.txt
vendored
@ -1,232 +1,232 @@
|
|||||||
(Module
|
(Module
|
||||||
(Identifier)
|
(ModuleIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Integer)))
|
(Integer)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Integer)))
|
(Integer)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Integer)))
|
(Integer)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Integer)))
|
(Integer)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Integer)))
|
(Integer)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Integer)))
|
(Integer)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Float)))
|
(Float)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Float)))
|
(Float)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Float)))
|
(Float)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Float)))
|
(Float)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Float)))
|
(Float)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Float)))
|
(Float)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Float)))
|
(Float)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Float)))
|
(Float)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Float)))
|
(Float)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Float)))
|
(Float)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Float)))
|
(Float)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Float)))
|
(Float)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Float)))
|
(Float)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Float)))
|
(Float)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier)))
|
(VariableIdentifier)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier)))
|
(VariableIdentifier)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier)))
|
(VariableIdentifier)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier)))
|
(VariableIdentifier)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier)))
|
(VariableIdentifier)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier)))
|
(VariableIdentifier)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier)))
|
(VariableIdentifier)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier)))
|
(ConstructorIdentifier)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier)))
|
(ConstructorIdentifier)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Character)))
|
(Character)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Character)))
|
(Character)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Character)))
|
(Character)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Character)))
|
(Character)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Character)))
|
(Character)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Character)))
|
(Character)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Character)))
|
(Character)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Character)))
|
(Character)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Character)))
|
(Character)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Character)))
|
(Character)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Character)))
|
(Character)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Character)))
|
(Character)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Character)))
|
(Character)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Character)))
|
(Character)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Character)))
|
(Character)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Character)))
|
(Character)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Character)))
|
(Character)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Character)))
|
(Character)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Character)))
|
(Character)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Character)))
|
(Character)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Character)))
|
(Character)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Character)))
|
(Character)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Character)))
|
(Character)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Character)))
|
(Character)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Character)))
|
(Character)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Character)))
|
(Character)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Character)))
|
(Character)))
|
||||||
(Function
|
(Function
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Array
|
(Array
|
||||||
(TextElement)
|
(TextElement)
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
(Module
|
(Module
|
||||||
{ (Identifier)
|
{ (ModuleIdentifier)
|
||||||
->(Identifier) }
|
->(ModuleIdentifier) }
|
||||||
(Statements))
|
(Statements))
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
(Module
|
(Module
|
||||||
{ (Identifier)
|
{ (ModuleIdentifier)
|
||||||
->(Identifier) }
|
->(ModuleIdentifier) }
|
||||||
(Statements))
|
(Statements))
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
(Module
|
(Module
|
||||||
(Identifier)
|
(ModuleIdentifier)
|
||||||
(Statements))
|
(Statements))
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
(Module
|
(Module
|
||||||
(Identifier)
|
(ModuleIdentifier)
|
||||||
(Statements))
|
(Statements))
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
(Module
|
(Module
|
||||||
{ (Identifier)
|
{ (ModuleIdentifier)
|
||||||
->(Identifier) }
|
->(ModuleIdentifier) }
|
||||||
(Statements))
|
(Statements))
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
(Module
|
(Module
|
||||||
{ (Identifier)
|
{ (ModuleIdentifier)
|
||||||
->(Identifier) }
|
->(ModuleIdentifier) }
|
||||||
(Statements))
|
(Statements))
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
(Module
|
(Module
|
||||||
(Identifier)
|
(ModuleIdentifier)
|
||||||
(Statements))
|
(Statements))
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
(Module
|
(Module
|
||||||
(Identifier)
|
(ModuleIdentifier)
|
||||||
(Statements))
|
(Statements))
|
||||||
|
@ -2,8 +2,8 @@
|
|||||||
(Empty)
|
(Empty)
|
||||||
(Statements
|
(Statements
|
||||||
(QualifiedModuleIdentifier
|
(QualifiedModuleIdentifier
|
||||||
{ (Identifier)
|
{ (ModuleIdentifier)
|
||||||
->(Identifier) }
|
->(ModuleIdentifier) }
|
||||||
{ (Identifier)
|
{ (ModuleIdentifier)
|
||||||
->(Identifier) })
|
->(ModuleIdentifier) })
|
||||||
(Statements)))
|
(Statements)))
|
||||||
|
@ -2,8 +2,8 @@
|
|||||||
(Empty)
|
(Empty)
|
||||||
(Statements
|
(Statements
|
||||||
(QualifiedModuleIdentifier
|
(QualifiedModuleIdentifier
|
||||||
{ (Identifier)
|
{ (ModuleIdentifier)
|
||||||
->(Identifier) }
|
->(ModuleIdentifier) }
|
||||||
{ (Identifier)
|
{ (ModuleIdentifier)
|
||||||
->(Identifier) })
|
->(ModuleIdentifier) })
|
||||||
(Statements)))
|
(Statements)))
|
||||||
|
@ -2,6 +2,6 @@
|
|||||||
(Empty)
|
(Empty)
|
||||||
(Statements
|
(Statements
|
||||||
(QualifiedModuleIdentifier
|
(QualifiedModuleIdentifier
|
||||||
(Identifier)
|
(ModuleIdentifier)
|
||||||
(Identifier))
|
(ModuleIdentifier))
|
||||||
(Statements)))
|
(Statements)))
|
||||||
|
@ -2,6 +2,6 @@
|
|||||||
(Empty)
|
(Empty)
|
||||||
(Statements
|
(Statements
|
||||||
(QualifiedModuleIdentifier
|
(QualifiedModuleIdentifier
|
||||||
(Identifier)
|
(ModuleIdentifier)
|
||||||
(Identifier))
|
(ModuleIdentifier))
|
||||||
(Statements)))
|
(Statements)))
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
(Module
|
(Module
|
||||||
(Identifier)
|
(ModuleIdentifier)
|
||||||
(Export
|
(Export
|
||||||
(TypeConstructorExport
|
(TypeConstructorExport
|
||||||
(VariableOperator
|
(VariableOperator
|
||||||
{ (Identifier)
|
{ (VariableSymbol)
|
||||||
->(Identifier) })))
|
->(VariableSymbol) })))
|
||||||
(Export
|
(Export
|
||||||
(VariableOperator
|
(VariableOperator
|
||||||
{ (Identifier)
|
{ (VariableSymbol)
|
||||||
->(Identifier) }))
|
->(VariableSymbol) }))
|
||||||
(Statements))
|
(Statements))
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
(Module
|
(Module
|
||||||
(Identifier)
|
(ModuleIdentifier)
|
||||||
(Export
|
(Export
|
||||||
(TypeConstructorExport
|
(TypeConstructorExport
|
||||||
(VariableOperator
|
(VariableOperator
|
||||||
{ (Identifier)
|
{ (VariableSymbol)
|
||||||
->(Identifier) })))
|
->(VariableSymbol) })))
|
||||||
(Export
|
(Export
|
||||||
(VariableOperator
|
(VariableOperator
|
||||||
{ (Identifier)
|
{ (VariableSymbol)
|
||||||
->(Identifier) }))
|
->(VariableSymbol) }))
|
||||||
(Statements))
|
(Statements))
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
(Module
|
(Module
|
||||||
(Identifier)
|
(ModuleIdentifier)
|
||||||
(Export
|
(Export
|
||||||
(TypeConstructorExport
|
(TypeConstructorExport
|
||||||
(VariableOperator
|
(VariableOperator
|
||||||
(Identifier))))
|
(VariableSymbol))))
|
||||||
(Export
|
(Export
|
||||||
(VariableOperator
|
(VariableOperator
|
||||||
(Identifier)))
|
(VariableSymbol)))
|
||||||
(Statements))
|
(Statements))
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
(Module
|
(Module
|
||||||
(Identifier)
|
(ModuleIdentifier)
|
||||||
(Export
|
(Export
|
||||||
(TypeConstructorExport
|
(TypeConstructorExport
|
||||||
(VariableOperator
|
(VariableOperator
|
||||||
(Identifier))))
|
(VariableSymbol))))
|
||||||
(Export
|
(Export
|
||||||
(VariableOperator
|
(VariableOperator
|
||||||
(Identifier)))
|
(VariableSymbol)))
|
||||||
(Statements))
|
(Statements))
|
||||||
|
@ -1,28 +1,28 @@
|
|||||||
(Module
|
(Module
|
||||||
{ (Identifier)
|
{ (ModuleIdentifier)
|
||||||
->(Identifier) }
|
->(ModuleIdentifier) }
|
||||||
(Export
|
(Export
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(AllConstructors)))
|
(AllConstructors)))
|
||||||
(Export
|
(Export
|
||||||
(TypeConstructorExport
|
(TypeConstructorExport
|
||||||
(ConstructorOperator
|
(ConstructorOperator
|
||||||
{ (Identifier)
|
{ (ConstructorSymbol)
|
||||||
->(Identifier) })))
|
->(ConstructorSymbol) })))
|
||||||
(Export
|
(Export
|
||||||
(TypeConstructorExport
|
(TypeConstructorExport
|
||||||
(VariableOperator
|
(VariableOperator
|
||||||
{ (Identifier)
|
{ (VariableSymbol)
|
||||||
->(Identifier) })))
|
->(VariableSymbol) })))
|
||||||
(Export
|
(Export
|
||||||
(Identifier))
|
(VariableIdentifier))
|
||||||
(Export
|
(Export
|
||||||
(ModuleExport
|
(ModuleExport
|
||||||
{ (Identifier)
|
{ (ModuleIdentifier)
|
||||||
->(Identifier) }))
|
->(ModuleIdentifier) }))
|
||||||
(Export
|
(Export
|
||||||
(TypeConstructorExport
|
(TypeConstructorExport
|
||||||
{ (Identifier)
|
{ (ConstructorIdentifier)
|
||||||
->(Identifier) }))
|
->(ConstructorIdentifier) }))
|
||||||
(Statements))
|
(Statements))
|
||||||
|
@ -1,28 +1,28 @@
|
|||||||
(Module
|
(Module
|
||||||
{ (Identifier)
|
{ (ModuleIdentifier)
|
||||||
->(Identifier) }
|
->(ModuleIdentifier) }
|
||||||
(Export
|
(Export
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(AllConstructors)))
|
(AllConstructors)))
|
||||||
(Export
|
(Export
|
||||||
(TypeConstructorExport
|
(TypeConstructorExport
|
||||||
(ConstructorOperator
|
(ConstructorOperator
|
||||||
{ (Identifier)
|
{ (ConstructorSymbol)
|
||||||
->(Identifier) })))
|
->(ConstructorSymbol) })))
|
||||||
(Export
|
(Export
|
||||||
(TypeConstructorExport
|
(TypeConstructorExport
|
||||||
(VariableOperator
|
(VariableOperator
|
||||||
{ (Identifier)
|
{ (VariableSymbol)
|
||||||
->(Identifier) })))
|
->(VariableSymbol) })))
|
||||||
(Export
|
(Export
|
||||||
(Identifier))
|
(VariableIdentifier))
|
||||||
(Export
|
(Export
|
||||||
(ModuleExport
|
(ModuleExport
|
||||||
{ (Identifier)
|
{ (ModuleIdentifier)
|
||||||
->(Identifier) }))
|
->(ModuleIdentifier) }))
|
||||||
(Export
|
(Export
|
||||||
(TypeConstructorExport
|
(TypeConstructorExport
|
||||||
{ (Identifier)
|
{ (ConstructorIdentifier)
|
||||||
->(Identifier) }))
|
->(ConstructorIdentifier) }))
|
||||||
(Statements))
|
(Statements))
|
||||||
|
@ -1,23 +1,23 @@
|
|||||||
(Module
|
(Module
|
||||||
(Identifier)
|
(ModuleIdentifier)
|
||||||
(Export
|
(Export
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(AllConstructors)))
|
(AllConstructors)))
|
||||||
(Export
|
(Export
|
||||||
(TypeConstructorExport
|
(TypeConstructorExport
|
||||||
(ConstructorOperator
|
(ConstructorOperator
|
||||||
(Identifier))))
|
(ConstructorSymbol))))
|
||||||
(Export
|
(Export
|
||||||
(TypeConstructorExport
|
(TypeConstructorExport
|
||||||
(VariableOperator
|
(VariableOperator
|
||||||
(Identifier))))
|
(VariableSymbol))))
|
||||||
(Export
|
(Export
|
||||||
(Identifier))
|
(VariableIdentifier))
|
||||||
(Export
|
(Export
|
||||||
(ModuleExport
|
(ModuleExport
|
||||||
(Identifier)))
|
(ModuleIdentifier)))
|
||||||
(Export
|
(Export
|
||||||
(TypeConstructorExport
|
(TypeConstructorExport
|
||||||
(Identifier)))
|
(ConstructorIdentifier)))
|
||||||
(Statements))
|
(Statements))
|
||||||
|
@ -1,23 +1,23 @@
|
|||||||
(Module
|
(Module
|
||||||
(Identifier)
|
(ModuleIdentifier)
|
||||||
(Export
|
(Export
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(AllConstructors)))
|
(AllConstructors)))
|
||||||
(Export
|
(Export
|
||||||
(TypeConstructorExport
|
(TypeConstructorExport
|
||||||
(ConstructorOperator
|
(ConstructorOperator
|
||||||
(Identifier))))
|
(ConstructorSymbol))))
|
||||||
(Export
|
(Export
|
||||||
(TypeConstructorExport
|
(TypeConstructorExport
|
||||||
(VariableOperator
|
(VariableOperator
|
||||||
(Identifier))))
|
(VariableSymbol))))
|
||||||
(Export
|
(Export
|
||||||
(Identifier))
|
(VariableIdentifier))
|
||||||
(Export
|
(Export
|
||||||
(ModuleExport
|
(ModuleExport
|
||||||
(Identifier)))
|
(ModuleIdentifier)))
|
||||||
(Export
|
(Export
|
||||||
(TypeConstructorExport
|
(TypeConstructorExport
|
||||||
(Identifier)))
|
(ConstructorIdentifier)))
|
||||||
(Statements))
|
(Statements))
|
||||||
|
6
test/fixtures/haskell/corpus/newtype-declaration.A.hs
vendored
Normal file
6
test/fixtures/haskell/corpus/newtype-declaration.A.hs
vendored
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
newtype N = N Int
|
||||||
|
newtype Show a => N = N a
|
||||||
|
newtype Age = Age { unAge :: Maybe Int }
|
||||||
|
newtype Bar a (b :: [* -> *]) c = Foo (a b c)
|
||||||
|
newtype N = N Int deriving Show
|
||||||
|
newtype N = N a deriving (Eq, Ord, Enum, Bounded, Show, Read)
|
6
test/fixtures/haskell/corpus/newtype-declaration.B.hs
vendored
Normal file
6
test/fixtures/haskell/corpus/newtype-declaration.B.hs
vendored
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
newtype O = O Int
|
||||||
|
newtype Show a => O = O a
|
||||||
|
newtype Karage = Karage { unKarage :: Maybe Int }
|
||||||
|
newtype Foo a (b :: [* -> *]) c = Bar (a b c)
|
||||||
|
newtype O = O Int deriving Show
|
||||||
|
newtype O = O a deriving (Eq, Ord, Enum, Bounded, Show, Read)
|
98
test/fixtures/haskell/corpus/newtype-declaration.diffA-B.txt
vendored
Normal file
98
test/fixtures/haskell/corpus/newtype-declaration.diffA-B.txt
vendored
Normal file
@ -0,0 +1,98 @@
|
|||||||
|
(Module
|
||||||
|
(Empty)
|
||||||
|
(Statements
|
||||||
|
(NewType
|
||||||
|
(Statements
|
||||||
|
{ (TypeConstructorIdentifier)
|
||||||
|
->(TypeConstructorIdentifier) })
|
||||||
|
(Constructor
|
||||||
|
{ (ConstructorIdentifier)
|
||||||
|
->(ConstructorIdentifier) }
|
||||||
|
(TypeParameters
|
||||||
|
(TypeConstructorIdentifier)))
|
||||||
|
(Empty))
|
||||||
|
(NewType
|
||||||
|
(Context'
|
||||||
|
(Statements
|
||||||
|
(Class
|
||||||
|
(TypeClassIdentifier)
|
||||||
|
(TypeParameters
|
||||||
|
(TypeVariableIdentifier)))))
|
||||||
|
(Statements
|
||||||
|
{ (TypeConstructorIdentifier)
|
||||||
|
->(TypeConstructorIdentifier) })
|
||||||
|
(Constructor
|
||||||
|
{ (ConstructorIdentifier)
|
||||||
|
->(ConstructorIdentifier) }
|
||||||
|
(TypeParameters
|
||||||
|
(TypeVariableIdentifier)))
|
||||||
|
(Empty))
|
||||||
|
(NewType
|
||||||
|
(Statements
|
||||||
|
{ (TypeConstructorIdentifier)
|
||||||
|
->(TypeConstructorIdentifier) })
|
||||||
|
(Constructor
|
||||||
|
{ (ConstructorIdentifier)
|
||||||
|
->(ConstructorIdentifier) }
|
||||||
|
(TypeParameters
|
||||||
|
(Statements
|
||||||
|
(Field
|
||||||
|
(Statements
|
||||||
|
{ (VariableIdentifier)
|
||||||
|
->(VariableIdentifier) })
|
||||||
|
(Type
|
||||||
|
(TypeConstructorIdentifier)
|
||||||
|
(TypeParameters
|
||||||
|
(TypeConstructorIdentifier))
|
||||||
|
(Empty))))))
|
||||||
|
(Empty))
|
||||||
|
(NewType
|
||||||
|
(Statements
|
||||||
|
{ (TypeConstructorIdentifier)
|
||||||
|
->(TypeConstructorIdentifier) }
|
||||||
|
(TypeVariableIdentifier)
|
||||||
|
(AnnotatedTypeVariable
|
||||||
|
(TypeVariableIdentifier)
|
||||||
|
(KindListType
|
||||||
|
(KindFunctionType
|
||||||
|
(Kind
|
||||||
|
(Star))
|
||||||
|
(Kind
|
||||||
|
(Star)))))
|
||||||
|
(TypeVariableIdentifier))
|
||||||
|
(Constructor
|
||||||
|
{ (ConstructorIdentifier)
|
||||||
|
->(ConstructorIdentifier) }
|
||||||
|
(TypeParameters
|
||||||
|
(Statements
|
||||||
|
(TypeVariableIdentifier)
|
||||||
|
(TypeVariableIdentifier)
|
||||||
|
(TypeVariableIdentifier))))
|
||||||
|
(Empty))
|
||||||
|
(NewType
|
||||||
|
(Statements
|
||||||
|
{ (TypeConstructorIdentifier)
|
||||||
|
->(TypeConstructorIdentifier) })
|
||||||
|
(Constructor
|
||||||
|
{ (ConstructorIdentifier)
|
||||||
|
->(ConstructorIdentifier) }
|
||||||
|
(TypeParameters
|
||||||
|
(TypeConstructorIdentifier)))
|
||||||
|
(Deriving
|
||||||
|
(TypeClassIdentifier)))
|
||||||
|
(NewType
|
||||||
|
(Statements
|
||||||
|
{ (TypeConstructorIdentifier)
|
||||||
|
->(TypeConstructorIdentifier) })
|
||||||
|
(Constructor
|
||||||
|
{ (ConstructorIdentifier)
|
||||||
|
->(ConstructorIdentifier) }
|
||||||
|
(TypeParameters
|
||||||
|
(TypeVariableIdentifier)))
|
||||||
|
(Deriving
|
||||||
|
(TypeClassIdentifier)
|
||||||
|
(TypeClassIdentifier)
|
||||||
|
(TypeClassIdentifier)
|
||||||
|
(TypeClassIdentifier)
|
||||||
|
(TypeClassIdentifier)
|
||||||
|
(TypeClassIdentifier)))))
|
98
test/fixtures/haskell/corpus/newtype-declaration.diffB-A.txt
vendored
Normal file
98
test/fixtures/haskell/corpus/newtype-declaration.diffB-A.txt
vendored
Normal file
@ -0,0 +1,98 @@
|
|||||||
|
(Module
|
||||||
|
(Empty)
|
||||||
|
(Statements
|
||||||
|
(NewType
|
||||||
|
(Statements
|
||||||
|
{ (TypeConstructorIdentifier)
|
||||||
|
->(TypeConstructorIdentifier) })
|
||||||
|
(Constructor
|
||||||
|
{ (ConstructorIdentifier)
|
||||||
|
->(ConstructorIdentifier) }
|
||||||
|
(TypeParameters
|
||||||
|
(TypeConstructorIdentifier)))
|
||||||
|
(Empty))
|
||||||
|
(NewType
|
||||||
|
(Context'
|
||||||
|
(Statements
|
||||||
|
(Class
|
||||||
|
(TypeClassIdentifier)
|
||||||
|
(TypeParameters
|
||||||
|
(TypeVariableIdentifier)))))
|
||||||
|
(Statements
|
||||||
|
{ (TypeConstructorIdentifier)
|
||||||
|
->(TypeConstructorIdentifier) })
|
||||||
|
(Constructor
|
||||||
|
{ (ConstructorIdentifier)
|
||||||
|
->(ConstructorIdentifier) }
|
||||||
|
(TypeParameters
|
||||||
|
(TypeVariableIdentifier)))
|
||||||
|
(Empty))
|
||||||
|
(NewType
|
||||||
|
(Statements
|
||||||
|
{ (TypeConstructorIdentifier)
|
||||||
|
->(TypeConstructorIdentifier) })
|
||||||
|
(Constructor
|
||||||
|
{ (ConstructorIdentifier)
|
||||||
|
->(ConstructorIdentifier) }
|
||||||
|
(TypeParameters
|
||||||
|
(Statements
|
||||||
|
(Field
|
||||||
|
(Statements
|
||||||
|
{ (VariableIdentifier)
|
||||||
|
->(VariableIdentifier) })
|
||||||
|
(Type
|
||||||
|
(TypeConstructorIdentifier)
|
||||||
|
(TypeParameters
|
||||||
|
(TypeConstructorIdentifier))
|
||||||
|
(Empty))))))
|
||||||
|
(Empty))
|
||||||
|
(NewType
|
||||||
|
(Statements
|
||||||
|
{ (TypeConstructorIdentifier)
|
||||||
|
->(TypeConstructorIdentifier) }
|
||||||
|
(TypeVariableIdentifier)
|
||||||
|
(AnnotatedTypeVariable
|
||||||
|
(TypeVariableIdentifier)
|
||||||
|
(KindListType
|
||||||
|
(KindFunctionType
|
||||||
|
(Kind
|
||||||
|
(Star))
|
||||||
|
(Kind
|
||||||
|
(Star)))))
|
||||||
|
(TypeVariableIdentifier))
|
||||||
|
(Constructor
|
||||||
|
{ (ConstructorIdentifier)
|
||||||
|
->(ConstructorIdentifier) }
|
||||||
|
(TypeParameters
|
||||||
|
(Statements
|
||||||
|
(TypeVariableIdentifier)
|
||||||
|
(TypeVariableIdentifier)
|
||||||
|
(TypeVariableIdentifier))))
|
||||||
|
(Empty))
|
||||||
|
(NewType
|
||||||
|
(Statements
|
||||||
|
{ (TypeConstructorIdentifier)
|
||||||
|
->(TypeConstructorIdentifier) })
|
||||||
|
(Constructor
|
||||||
|
{ (ConstructorIdentifier)
|
||||||
|
->(ConstructorIdentifier) }
|
||||||
|
(TypeParameters
|
||||||
|
(TypeConstructorIdentifier)))
|
||||||
|
(Deriving
|
||||||
|
(TypeClassIdentifier)))
|
||||||
|
(NewType
|
||||||
|
(Statements
|
||||||
|
{ (TypeConstructorIdentifier)
|
||||||
|
->(TypeConstructorIdentifier) })
|
||||||
|
(Constructor
|
||||||
|
{ (ConstructorIdentifier)
|
||||||
|
->(ConstructorIdentifier) }
|
||||||
|
(TypeParameters
|
||||||
|
(TypeVariableIdentifier)))
|
||||||
|
(Deriving
|
||||||
|
(TypeClassIdentifier)
|
||||||
|
(TypeClassIdentifier)
|
||||||
|
(TypeClassIdentifier)
|
||||||
|
(TypeClassIdentifier)
|
||||||
|
(TypeClassIdentifier)
|
||||||
|
(TypeClassIdentifier)))))
|
85
test/fixtures/haskell/corpus/newtype-declaration.parseA.txt
vendored
Normal file
85
test/fixtures/haskell/corpus/newtype-declaration.parseA.txt
vendored
Normal file
@ -0,0 +1,85 @@
|
|||||||
|
(Module
|
||||||
|
(Empty)
|
||||||
|
(Statements
|
||||||
|
(NewType
|
||||||
|
(Statements
|
||||||
|
(TypeConstructorIdentifier))
|
||||||
|
(Constructor
|
||||||
|
(ConstructorIdentifier)
|
||||||
|
(TypeParameters
|
||||||
|
(TypeConstructorIdentifier)))
|
||||||
|
(Empty))
|
||||||
|
(NewType
|
||||||
|
(Context'
|
||||||
|
(Statements
|
||||||
|
(Class
|
||||||
|
(TypeClassIdentifier)
|
||||||
|
(TypeParameters
|
||||||
|
(TypeVariableIdentifier)))))
|
||||||
|
(Statements
|
||||||
|
(TypeConstructorIdentifier))
|
||||||
|
(Constructor
|
||||||
|
(ConstructorIdentifier)
|
||||||
|
(TypeParameters
|
||||||
|
(TypeVariableIdentifier)))
|
||||||
|
(Empty))
|
||||||
|
(NewType
|
||||||
|
(Statements
|
||||||
|
(TypeConstructorIdentifier))
|
||||||
|
(Constructor
|
||||||
|
(ConstructorIdentifier)
|
||||||
|
(TypeParameters
|
||||||
|
(Statements
|
||||||
|
(Field
|
||||||
|
(Statements
|
||||||
|
(VariableIdentifier))
|
||||||
|
(Type
|
||||||
|
(TypeConstructorIdentifier)
|
||||||
|
(TypeParameters
|
||||||
|
(TypeConstructorIdentifier))
|
||||||
|
(Empty))))))
|
||||||
|
(Empty))
|
||||||
|
(NewType
|
||||||
|
(Statements
|
||||||
|
(TypeConstructorIdentifier)
|
||||||
|
(TypeVariableIdentifier)
|
||||||
|
(AnnotatedTypeVariable
|
||||||
|
(TypeVariableIdentifier)
|
||||||
|
(KindListType
|
||||||
|
(KindFunctionType
|
||||||
|
(Kind
|
||||||
|
(Star))
|
||||||
|
(Kind
|
||||||
|
(Star)))))
|
||||||
|
(TypeVariableIdentifier))
|
||||||
|
(Constructor
|
||||||
|
(ConstructorIdentifier)
|
||||||
|
(TypeParameters
|
||||||
|
(Statements
|
||||||
|
(TypeVariableIdentifier)
|
||||||
|
(TypeVariableIdentifier)
|
||||||
|
(TypeVariableIdentifier))))
|
||||||
|
(Empty))
|
||||||
|
(NewType
|
||||||
|
(Statements
|
||||||
|
(TypeConstructorIdentifier))
|
||||||
|
(Constructor
|
||||||
|
(ConstructorIdentifier)
|
||||||
|
(TypeParameters
|
||||||
|
(TypeConstructorIdentifier)))
|
||||||
|
(Deriving
|
||||||
|
(TypeClassIdentifier)))
|
||||||
|
(NewType
|
||||||
|
(Statements
|
||||||
|
(TypeConstructorIdentifier))
|
||||||
|
(Constructor
|
||||||
|
(ConstructorIdentifier)
|
||||||
|
(TypeParameters
|
||||||
|
(TypeVariableIdentifier)))
|
||||||
|
(Deriving
|
||||||
|
(TypeClassIdentifier)
|
||||||
|
(TypeClassIdentifier)
|
||||||
|
(TypeClassIdentifier)
|
||||||
|
(TypeClassIdentifier)
|
||||||
|
(TypeClassIdentifier)
|
||||||
|
(TypeClassIdentifier)))))
|
85
test/fixtures/haskell/corpus/newtype-declaration.parseB.txt
vendored
Normal file
85
test/fixtures/haskell/corpus/newtype-declaration.parseB.txt
vendored
Normal file
@ -0,0 +1,85 @@
|
|||||||
|
(Module
|
||||||
|
(Empty)
|
||||||
|
(Statements
|
||||||
|
(NewType
|
||||||
|
(Statements
|
||||||
|
(TypeConstructorIdentifier))
|
||||||
|
(Constructor
|
||||||
|
(ConstructorIdentifier)
|
||||||
|
(TypeParameters
|
||||||
|
(TypeConstructorIdentifier)))
|
||||||
|
(Empty))
|
||||||
|
(NewType
|
||||||
|
(Context'
|
||||||
|
(Statements
|
||||||
|
(Class
|
||||||
|
(TypeClassIdentifier)
|
||||||
|
(TypeParameters
|
||||||
|
(TypeVariableIdentifier)))))
|
||||||
|
(Statements
|
||||||
|
(TypeConstructorIdentifier))
|
||||||
|
(Constructor
|
||||||
|
(ConstructorIdentifier)
|
||||||
|
(TypeParameters
|
||||||
|
(TypeVariableIdentifier)))
|
||||||
|
(Empty))
|
||||||
|
(NewType
|
||||||
|
(Statements
|
||||||
|
(TypeConstructorIdentifier))
|
||||||
|
(Constructor
|
||||||
|
(ConstructorIdentifier)
|
||||||
|
(TypeParameters
|
||||||
|
(Statements
|
||||||
|
(Field
|
||||||
|
(Statements
|
||||||
|
(VariableIdentifier))
|
||||||
|
(Type
|
||||||
|
(TypeConstructorIdentifier)
|
||||||
|
(TypeParameters
|
||||||
|
(TypeConstructorIdentifier))
|
||||||
|
(Empty))))))
|
||||||
|
(Empty))
|
||||||
|
(NewType
|
||||||
|
(Statements
|
||||||
|
(TypeConstructorIdentifier)
|
||||||
|
(TypeVariableIdentifier)
|
||||||
|
(AnnotatedTypeVariable
|
||||||
|
(TypeVariableIdentifier)
|
||||||
|
(KindListType
|
||||||
|
(KindFunctionType
|
||||||
|
(Kind
|
||||||
|
(Star))
|
||||||
|
(Kind
|
||||||
|
(Star)))))
|
||||||
|
(TypeVariableIdentifier))
|
||||||
|
(Constructor
|
||||||
|
(ConstructorIdentifier)
|
||||||
|
(TypeParameters
|
||||||
|
(Statements
|
||||||
|
(TypeVariableIdentifier)
|
||||||
|
(TypeVariableIdentifier)
|
||||||
|
(TypeVariableIdentifier))))
|
||||||
|
(Empty))
|
||||||
|
(NewType
|
||||||
|
(Statements
|
||||||
|
(TypeConstructorIdentifier))
|
||||||
|
(Constructor
|
||||||
|
(ConstructorIdentifier)
|
||||||
|
(TypeParameters
|
||||||
|
(TypeConstructorIdentifier)))
|
||||||
|
(Deriving
|
||||||
|
(TypeClassIdentifier)))
|
||||||
|
(NewType
|
||||||
|
(Statements
|
||||||
|
(TypeConstructorIdentifier))
|
||||||
|
(Constructor
|
||||||
|
(ConstructorIdentifier)
|
||||||
|
(TypeParameters
|
||||||
|
(TypeVariableIdentifier)))
|
||||||
|
(Deriving
|
||||||
|
(TypeClassIdentifier)
|
||||||
|
(TypeClassIdentifier)
|
||||||
|
(TypeClassIdentifier)
|
||||||
|
(TypeClassIdentifier)
|
||||||
|
(TypeClassIdentifier)
|
||||||
|
(TypeClassIdentifier)))))
|
@ -1,3 +1,12 @@
|
|||||||
bar :: a -> b -> c -> Int -> Maybe Int
|
bar :: a -> b -> c -> Int -> Maybe Int
|
||||||
bar :: a -> b -> c -> [Int] -> Maybe Int
|
bar :: a -> b -> c -> [Int] -> Maybe Int
|
||||||
factorial :: Num a => Show a => a -> a
|
factorial :: Num a => Show a => a -> a
|
||||||
|
|
||||||
|
f :: Ex -> Ex
|
||||||
|
f :: [Int] -> Int
|
||||||
|
f :: (Int, Int) -> Maybe Int
|
||||||
|
f :: a -> B c (D (E g ': h)) -> I [J k] (L m (N (O p ': q)))
|
||||||
|
|
||||||
|
f :: forall a. [a] -> [a]
|
||||||
|
f :: forall a b. (a, b) -> [a]
|
||||||
|
apply :: proxy c -> (forall g . c g => g a -> b) -> Union fs a -> b
|
||||||
|
@ -1,2 +1,11 @@
|
|||||||
foo :: a -> b -> c -> Int -> Maybe Int
|
foo :: a -> b -> c -> Int -> Maybe Int
|
||||||
factorial :: Num a => a -> a
|
factorial :: Num a => a -> a
|
||||||
|
|
||||||
|
g :: Ex -> Foo
|
||||||
|
g :: [Double] -> Int
|
||||||
|
g :: (Double, Int) -> Maybe Double
|
||||||
|
g :: b -> B a (D (E g ': h)) -> I [J k] (L m (O (N p ': q)))
|
||||||
|
|
||||||
|
g :: forall a. [a] -> [a]
|
||||||
|
g :: forall a b. (a, b) -> [a]
|
||||||
|
apply :: proxy d -> (forall g . d g => g a -> b) -> Union fs a -> b
|
||||||
|
@ -2,98 +2,473 @@
|
|||||||
(Empty)
|
(Empty)
|
||||||
(Statements
|
(Statements
|
||||||
(TypeSignature
|
(TypeSignature
|
||||||
{ (Identifier)
|
{ (VariableIdentifier)
|
||||||
->(Identifier) }
|
->(VariableIdentifier) }
|
||||||
(FunctionType
|
(FunctionType
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty))
|
(Empty))
|
||||||
(FunctionType
|
(FunctionType
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty))
|
(Empty))
|
||||||
(FunctionType
|
(FunctionType
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty))
|
(Empty))
|
||||||
(FunctionType
|
(FunctionType
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty))
|
(Empty))
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters
|
(TypeParameters
|
||||||
(Identifier))
|
(TypeConstructorIdentifier))
|
||||||
(Empty)))))))
|
(Empty)))))))
|
||||||
{+(TypeSignature
|
{+(TypeSignature
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(Context'
|
{+(Context'
|
||||||
{+(Class
|
{+(Statements
|
||||||
{+(Identifier)+}
|
{+(Class
|
||||||
{+(TypeParameters
|
{+(TypeClassIdentifier)+}
|
||||||
{+(Identifier)+})+})+})+}
|
{+(TypeParameters
|
||||||
|
{+(TypeVariableIdentifier)+})+})+})+})+}
|
||||||
{+(FunctionType
|
{+(FunctionType
|
||||||
{+(Type
|
{+(Type
|
||||||
{+(Identifier)+}
|
{+(TypeVariableIdentifier)+}
|
||||||
{+(TypeParameters)+}
|
{+(TypeParameters)+}
|
||||||
{+(Empty)+})+}
|
{+(Empty)+})+}
|
||||||
{+(Type
|
{+(Type
|
||||||
{+(Identifier)+}
|
{+(TypeVariableIdentifier)+}
|
||||||
{+(TypeParameters)+}
|
{+(TypeParameters)+}
|
||||||
{+(Empty)+})+})+})+}
|
{+(Empty)+})+})+})+}
|
||||||
|
{+(TypeSignature
|
||||||
|
{+(VariableIdentifier)+}
|
||||||
|
{+(FunctionType
|
||||||
|
{+(Type
|
||||||
|
{+(TypeConstructorIdentifier)+}
|
||||||
|
{+(TypeParameters)+}
|
||||||
|
{+(Empty)+})+}
|
||||||
|
{+(Type
|
||||||
|
{+(TypeConstructorIdentifier)+}
|
||||||
|
{+(TypeParameters)+}
|
||||||
|
{+(Empty)+})+})+})+}
|
||||||
|
{+(TypeSignature
|
||||||
|
{+(VariableIdentifier)+}
|
||||||
|
{+(FunctionType
|
||||||
|
{+(Type
|
||||||
|
{+(Array
|
||||||
|
{+(Type
|
||||||
|
{+(TypeConstructorIdentifier)+}
|
||||||
|
{+(TypeParameters)+}
|
||||||
|
{+(Empty)+})+})+}
|
||||||
|
{+(TypeParameters)+}
|
||||||
|
{+(Empty)+})+}
|
||||||
|
{+(Type
|
||||||
|
{+(TypeConstructorIdentifier)+}
|
||||||
|
{+(TypeParameters)+}
|
||||||
|
{+(Empty)+})+})+})+}
|
||||||
|
{+(TypeSignature
|
||||||
|
{+(VariableIdentifier)+}
|
||||||
|
{+(FunctionType
|
||||||
|
{+(Type
|
||||||
|
{+(Tuple
|
||||||
|
{+(Type
|
||||||
|
{+(TypeConstructorIdentifier)+}
|
||||||
|
{+(TypeParameters)+}
|
||||||
|
{+(Empty)+})+}
|
||||||
|
{+(Type
|
||||||
|
{+(TypeConstructorIdentifier)+}
|
||||||
|
{+(TypeParameters)+}
|
||||||
|
{+(Empty)+})+})+}
|
||||||
|
{+(TypeParameters)+}
|
||||||
|
{+(Empty)+})+}
|
||||||
|
{+(Type
|
||||||
|
{+(TypeConstructorIdentifier)+}
|
||||||
|
{+(TypeParameters
|
||||||
|
{+(TypeConstructorIdentifier)+})+}
|
||||||
|
{+(Empty)+})+})+})+}
|
||||||
|
{+(TypeSignature
|
||||||
|
{+(VariableIdentifier)+}
|
||||||
|
{+(FunctionType
|
||||||
|
{+(Type
|
||||||
|
{+(TypeVariableIdentifier)+}
|
||||||
|
{+(TypeParameters)+}
|
||||||
|
{+(Empty)+})+}
|
||||||
|
{+(FunctionType
|
||||||
|
{+(Type
|
||||||
|
{+(TypeConstructorIdentifier)+}
|
||||||
|
{+(TypeParameters
|
||||||
|
{+(TypeVariableIdentifier)+}
|
||||||
|
{+(Statements
|
||||||
|
{+(TypeConstructorIdentifier)+}
|
||||||
|
{+(InfixOperatorPattern
|
||||||
|
{+(Type
|
||||||
|
{+(TypeConstructorIdentifier)+}
|
||||||
|
{+(TypeParameters
|
||||||
|
{+(TypeVariableIdentifier)+})+}
|
||||||
|
{+(Empty)+})+}
|
||||||
|
{+(TypeOperator)+}
|
||||||
|
{+(Type
|
||||||
|
{+(TypeVariableIdentifier)+}
|
||||||
|
{+(TypeParameters)+}
|
||||||
|
{+(Empty)+})+})+})+})+}
|
||||||
|
{+(Empty)+})+}
|
||||||
|
{+(Type
|
||||||
|
{+(TypeConstructorIdentifier)+}
|
||||||
|
{+(TypeParameters
|
||||||
|
{+(Array
|
||||||
|
{+(Type
|
||||||
|
{+(TypeConstructorIdentifier)+}
|
||||||
|
{+(TypeParameters
|
||||||
|
{+(TypeVariableIdentifier)+})+}
|
||||||
|
{+(Empty)+})+})+}
|
||||||
|
{+(Statements
|
||||||
|
{+(TypeConstructorIdentifier)+}
|
||||||
|
{+(TypeVariableIdentifier)+}
|
||||||
|
{+(Statements
|
||||||
|
{+(TypeConstructorIdentifier)+}
|
||||||
|
{+(InfixOperatorPattern
|
||||||
|
{+(Type
|
||||||
|
{+(TypeConstructorIdentifier)+}
|
||||||
|
{+(TypeParameters
|
||||||
|
{+(TypeVariableIdentifier)+})+}
|
||||||
|
{+(Empty)+})+}
|
||||||
|
{+(TypeOperator)+}
|
||||||
|
{+(Type
|
||||||
|
{+(TypeVariableIdentifier)+}
|
||||||
|
{+(TypeParameters)+}
|
||||||
|
{+(Empty)+})+})+})+})+})+}
|
||||||
|
{+(Empty)+})+})+})+})+}
|
||||||
|
{+(TypeSignature
|
||||||
|
{+(VariableIdentifier)+}
|
||||||
|
{+(ScopedTypeVariables
|
||||||
|
{+(TypeVariableIdentifier)+})+}
|
||||||
|
{+(FunctionType
|
||||||
|
{+(Type
|
||||||
|
{+(Array
|
||||||
|
{+(Type
|
||||||
|
{+(TypeVariableIdentifier)+}
|
||||||
|
{+(TypeParameters)+}
|
||||||
|
{+(Empty)+})+})+}
|
||||||
|
{+(TypeParameters)+}
|
||||||
|
{+(Empty)+})+}
|
||||||
|
{+(Type
|
||||||
|
{+(Array
|
||||||
|
{+(Type
|
||||||
|
{+(TypeVariableIdentifier)+}
|
||||||
|
{+(TypeParameters)+}
|
||||||
|
{+(Empty)+})+})+}
|
||||||
|
{+(TypeParameters)+}
|
||||||
|
{+(Empty)+})+})+})+}
|
||||||
|
{+(TypeSignature
|
||||||
|
{+(VariableIdentifier)+}
|
||||||
|
{+(ScopedTypeVariables
|
||||||
|
{+(Statements
|
||||||
|
{+(TypeVariableIdentifier)+}
|
||||||
|
{+(TypeVariableIdentifier)+})+})+}
|
||||||
|
{+(FunctionType
|
||||||
|
{+(Type
|
||||||
|
{+(Tuple
|
||||||
|
{+(Type
|
||||||
|
{+(TypeVariableIdentifier)+}
|
||||||
|
{+(TypeParameters)+}
|
||||||
|
{+(Empty)+})+}
|
||||||
|
{+(Type
|
||||||
|
{+(TypeVariableIdentifier)+}
|
||||||
|
{+(TypeParameters)+}
|
||||||
|
{+(Empty)+})+})+}
|
||||||
|
{+(TypeParameters)+}
|
||||||
|
{+(Empty)+})+}
|
||||||
|
{+(Type
|
||||||
|
{+(Array
|
||||||
|
{+(Type
|
||||||
|
{+(TypeVariableIdentifier)+}
|
||||||
|
{+(TypeParameters)+}
|
||||||
|
{+(Empty)+})+})+}
|
||||||
|
{+(TypeParameters)+}
|
||||||
|
{+(Empty)+})+})+})+}
|
||||||
|
{+(TypeSignature
|
||||||
|
{+(VariableIdentifier)+}
|
||||||
|
{+(FunctionType
|
||||||
|
{+(Type
|
||||||
|
{+(TypeVariableIdentifier)+}
|
||||||
|
{+(TypeParameters
|
||||||
|
{+(TypeVariableIdentifier)+})+}
|
||||||
|
{+(Empty)+})+}
|
||||||
|
{+(FunctionType
|
||||||
|
{+(Type
|
||||||
|
{+(Statements
|
||||||
|
{+(ScopedTypeVariables
|
||||||
|
{+(TypeVariableIdentifier)+})+}
|
||||||
|
{+(Context'
|
||||||
|
{+(Statements
|
||||||
|
{+(TypeVariableIdentifier)+}
|
||||||
|
{+(TypeVariableIdentifier)+})+})+}
|
||||||
|
{+(FunctionType
|
||||||
|
{+(Type
|
||||||
|
{+(TypeVariableIdentifier)+}
|
||||||
|
{+(TypeParameters
|
||||||
|
{+(TypeVariableIdentifier)+})+}
|
||||||
|
{+(Empty)+})+}
|
||||||
|
{+(Type
|
||||||
|
{+(TypeVariableIdentifier)+}
|
||||||
|
{+(TypeParameters)+}
|
||||||
|
{+(Empty)+})+})+})+}
|
||||||
|
{+(TypeParameters)+}
|
||||||
|
{+(Empty)+})+}
|
||||||
|
{+(FunctionType
|
||||||
|
{+(Type
|
||||||
|
{+(TypeConstructorIdentifier)+}
|
||||||
|
{+(TypeParameters
|
||||||
|
{+(TypeVariableIdentifier)+}
|
||||||
|
{+(TypeVariableIdentifier)+})+}
|
||||||
|
{+(Empty)+})+}
|
||||||
|
{+(Type
|
||||||
|
{+(TypeVariableIdentifier)+}
|
||||||
|
{+(TypeParameters)+}
|
||||||
|
{+(Empty)+})+})+})+})+})+}
|
||||||
{-(TypeSignature
|
{-(TypeSignature
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(FunctionType
|
{-(FunctionType
|
||||||
{-(Type
|
{-(Type
|
||||||
{-(Identifier)-}
|
{-(TypeVariableIdentifier)-}
|
||||||
{-(TypeParameters)-}
|
{-(TypeParameters)-}
|
||||||
{-(Empty)-})-}
|
{-(Empty)-})-}
|
||||||
{-(FunctionType
|
{-(FunctionType
|
||||||
{-(Type
|
{-(Type
|
||||||
{-(Identifier)-}
|
{-(TypeVariableIdentifier)-}
|
||||||
{-(TypeParameters)-}
|
{-(TypeParameters)-}
|
||||||
{-(Empty)-})-}
|
{-(Empty)-})-}
|
||||||
{-(FunctionType
|
{-(FunctionType
|
||||||
{-(Type
|
{-(Type
|
||||||
{-(Identifier)-}
|
{-(TypeVariableIdentifier)-}
|
||||||
{-(TypeParameters)-}
|
{-(TypeParameters)-}
|
||||||
{-(Empty)-})-}
|
{-(Empty)-})-}
|
||||||
{-(FunctionType
|
{-(FunctionType
|
||||||
{-(Type
|
{-(Type
|
||||||
{-(Array
|
{-(Array
|
||||||
{-(Type
|
{-(Type
|
||||||
{-(Identifier)-}
|
{-(TypeConstructorIdentifier)-}
|
||||||
{-(TypeParameters)-}
|
{-(TypeParameters)-}
|
||||||
{-(Empty)-})-})-}
|
{-(Empty)-})-})-}
|
||||||
{-(TypeParameters)-}
|
{-(TypeParameters)-}
|
||||||
{-(Empty)-})-}
|
{-(Empty)-})-}
|
||||||
{-(Type
|
{-(Type
|
||||||
{-(Identifier)-}
|
{-(TypeConstructorIdentifier)-}
|
||||||
{-(TypeParameters
|
{-(TypeParameters
|
||||||
{-(Identifier)-})-}
|
{-(TypeConstructorIdentifier)-})-}
|
||||||
{-(Empty)-})-})-})-})-})-})-}
|
{-(Empty)-})-})-})-})-})-})-}
|
||||||
{-(TypeSignature
|
{-(TypeSignature
|
||||||
{-(Identifier)-}
|
{-(VariableIdentifier)-}
|
||||||
{-(Context'
|
{-(Context'
|
||||||
{-(Class
|
{-(Statements
|
||||||
{-(Identifier)-}
|
{-(Class
|
||||||
{-(TypeParameters
|
{-(TypeClassIdentifier)-}
|
||||||
{-(Identifier)-})-})-})-}
|
{-(TypeParameters
|
||||||
|
{-(TypeVariableIdentifier)-})-})-})-})-}
|
||||||
{-(Context'
|
{-(Context'
|
||||||
{-(Class
|
{-(Statements
|
||||||
{-(Identifier)-}
|
{-(Class
|
||||||
{-(TypeParameters
|
{-(TypeClassIdentifier)-}
|
||||||
{-(Identifier)-})-})-})-}
|
{-(TypeParameters
|
||||||
|
{-(TypeVariableIdentifier)-})-})-})-})-}
|
||||||
{-(FunctionType
|
{-(FunctionType
|
||||||
{-(Type
|
{-(Type
|
||||||
{-(Identifier)-}
|
{-(TypeVariableIdentifier)-}
|
||||||
{-(TypeParameters)-}
|
{-(TypeParameters)-}
|
||||||
{-(Empty)-})-}
|
{-(Empty)-})-}
|
||||||
{-(Type
|
{-(Type
|
||||||
{-(Identifier)-}
|
{-(TypeVariableIdentifier)-}
|
||||||
{-(TypeParameters)-}
|
{-(TypeParameters)-}
|
||||||
{-(Empty)-})-})-})-}))
|
{-(Empty)-})-})-})-}
|
||||||
|
{-(TypeSignature
|
||||||
|
{-(VariableIdentifier)-}
|
||||||
|
{-(FunctionType
|
||||||
|
{-(Type
|
||||||
|
{-(TypeConstructorIdentifier)-}
|
||||||
|
{-(TypeParameters)-}
|
||||||
|
{-(Empty)-})-}
|
||||||
|
{-(Type
|
||||||
|
{-(TypeConstructorIdentifier)-}
|
||||||
|
{-(TypeParameters)-}
|
||||||
|
{-(Empty)-})-})-})-}
|
||||||
|
{-(TypeSignature
|
||||||
|
{-(VariableIdentifier)-}
|
||||||
|
{-(FunctionType
|
||||||
|
{-(Type
|
||||||
|
{-(Array
|
||||||
|
{-(Type
|
||||||
|
{-(TypeConstructorIdentifier)-}
|
||||||
|
{-(TypeParameters)-}
|
||||||
|
{-(Empty)-})-})-}
|
||||||
|
{-(TypeParameters)-}
|
||||||
|
{-(Empty)-})-}
|
||||||
|
{-(Type
|
||||||
|
{-(TypeConstructorIdentifier)-}
|
||||||
|
{-(TypeParameters)-}
|
||||||
|
{-(Empty)-})-})-})-}
|
||||||
|
{-(TypeSignature
|
||||||
|
{-(VariableIdentifier)-}
|
||||||
|
{-(FunctionType
|
||||||
|
{-(Type
|
||||||
|
{-(Tuple
|
||||||
|
{-(Type
|
||||||
|
{-(TypeConstructorIdentifier)-}
|
||||||
|
{-(TypeParameters)-}
|
||||||
|
{-(Empty)-})-}
|
||||||
|
{-(Type
|
||||||
|
{-(TypeConstructorIdentifier)-}
|
||||||
|
{-(TypeParameters)-}
|
||||||
|
{-(Empty)-})-})-}
|
||||||
|
{-(TypeParameters)-}
|
||||||
|
{-(Empty)-})-}
|
||||||
|
{-(Type
|
||||||
|
{-(TypeConstructorIdentifier)-}
|
||||||
|
{-(TypeParameters
|
||||||
|
{-(TypeConstructorIdentifier)-})-}
|
||||||
|
{-(Empty)-})-})-})-}
|
||||||
|
{-(TypeSignature
|
||||||
|
{-(VariableIdentifier)-}
|
||||||
|
{-(FunctionType
|
||||||
|
{-(Type
|
||||||
|
{-(TypeVariableIdentifier)-}
|
||||||
|
{-(TypeParameters)-}
|
||||||
|
{-(Empty)-})-}
|
||||||
|
{-(FunctionType
|
||||||
|
{-(Type
|
||||||
|
{-(TypeConstructorIdentifier)-}
|
||||||
|
{-(TypeParameters
|
||||||
|
{-(TypeVariableIdentifier)-}
|
||||||
|
{-(Statements
|
||||||
|
{-(TypeConstructorIdentifier)-}
|
||||||
|
{-(InfixOperatorPattern
|
||||||
|
{-(Type
|
||||||
|
{-(TypeConstructorIdentifier)-}
|
||||||
|
{-(TypeParameters
|
||||||
|
{-(TypeVariableIdentifier)-})-}
|
||||||
|
{-(Empty)-})-}
|
||||||
|
{-(TypeOperator)-}
|
||||||
|
{-(Type
|
||||||
|
{-(TypeVariableIdentifier)-}
|
||||||
|
{-(TypeParameters)-}
|
||||||
|
{-(Empty)-})-})-})-})-}
|
||||||
|
{-(Empty)-})-}
|
||||||
|
{-(Type
|
||||||
|
{-(TypeConstructorIdentifier)-}
|
||||||
|
{-(TypeParameters
|
||||||
|
{-(Array
|
||||||
|
{-(Type
|
||||||
|
{-(TypeConstructorIdentifier)-}
|
||||||
|
{-(TypeParameters
|
||||||
|
{-(TypeVariableIdentifier)-})-}
|
||||||
|
{-(Empty)-})-})-}
|
||||||
|
{-(Statements
|
||||||
|
{-(TypeConstructorIdentifier)-}
|
||||||
|
{-(TypeVariableIdentifier)-}
|
||||||
|
{-(Statements
|
||||||
|
{-(TypeConstructorIdentifier)-}
|
||||||
|
{-(InfixOperatorPattern
|
||||||
|
{-(Type
|
||||||
|
{-(TypeConstructorIdentifier)-}
|
||||||
|
{-(TypeParameters
|
||||||
|
{-(TypeVariableIdentifier)-})-}
|
||||||
|
{-(Empty)-})-}
|
||||||
|
{-(TypeOperator)-}
|
||||||
|
{-(Type
|
||||||
|
{-(TypeVariableIdentifier)-}
|
||||||
|
{-(TypeParameters)-}
|
||||||
|
{-(Empty)-})-})-})-})-})-}
|
||||||
|
{-(Empty)-})-})-})-})-}
|
||||||
|
{-(TypeSignature
|
||||||
|
{-(VariableIdentifier)-}
|
||||||
|
{-(ScopedTypeVariables
|
||||||
|
{-(TypeVariableIdentifier)-})-}
|
||||||
|
{-(FunctionType
|
||||||
|
{-(Type
|
||||||
|
{-(Array
|
||||||
|
{-(Type
|
||||||
|
{-(TypeVariableIdentifier)-}
|
||||||
|
{-(TypeParameters)-}
|
||||||
|
{-(Empty)-})-})-}
|
||||||
|
{-(TypeParameters)-}
|
||||||
|
{-(Empty)-})-}
|
||||||
|
{-(Type
|
||||||
|
{-(Array
|
||||||
|
{-(Type
|
||||||
|
{-(TypeVariableIdentifier)-}
|
||||||
|
{-(TypeParameters)-}
|
||||||
|
{-(Empty)-})-})-}
|
||||||
|
{-(TypeParameters)-}
|
||||||
|
{-(Empty)-})-})-})-}
|
||||||
|
{-(TypeSignature
|
||||||
|
{-(VariableIdentifier)-}
|
||||||
|
{-(ScopedTypeVariables
|
||||||
|
{-(Statements
|
||||||
|
{-(TypeVariableIdentifier)-}
|
||||||
|
{-(TypeVariableIdentifier)-})-})-}
|
||||||
|
{-(FunctionType
|
||||||
|
{-(Type
|
||||||
|
{-(Tuple
|
||||||
|
{-(Type
|
||||||
|
{-(TypeVariableIdentifier)-}
|
||||||
|
{-(TypeParameters)-}
|
||||||
|
{-(Empty)-})-}
|
||||||
|
{-(Type
|
||||||
|
{-(TypeVariableIdentifier)-}
|
||||||
|
{-(TypeParameters)-}
|
||||||
|
{-(Empty)-})-})-}
|
||||||
|
{-(TypeParameters)-}
|
||||||
|
{-(Empty)-})-}
|
||||||
|
{-(Type
|
||||||
|
{-(Array
|
||||||
|
{-(Type
|
||||||
|
{-(TypeVariableIdentifier)-}
|
||||||
|
{-(TypeParameters)-}
|
||||||
|
{-(Empty)-})-})-}
|
||||||
|
{-(TypeParameters)-}
|
||||||
|
{-(Empty)-})-})-})-}
|
||||||
|
{-(TypeSignature
|
||||||
|
{-(VariableIdentifier)-}
|
||||||
|
{-(FunctionType
|
||||||
|
{-(Type
|
||||||
|
{-(TypeVariableIdentifier)-}
|
||||||
|
{-(TypeParameters
|
||||||
|
{-(TypeVariableIdentifier)-})-}
|
||||||
|
{-(Empty)-})-}
|
||||||
|
{-(FunctionType
|
||||||
|
{-(Type
|
||||||
|
{-(Statements
|
||||||
|
{-(ScopedTypeVariables
|
||||||
|
{-(TypeVariableIdentifier)-})-}
|
||||||
|
{-(Context'
|
||||||
|
{-(Statements
|
||||||
|
{-(TypeVariableIdentifier)-}
|
||||||
|
{-(TypeVariableIdentifier)-})-})-}
|
||||||
|
{-(FunctionType
|
||||||
|
{-(Type
|
||||||
|
{-(TypeVariableIdentifier)-}
|
||||||
|
{-(TypeParameters
|
||||||
|
{-(TypeVariableIdentifier)-})-}
|
||||||
|
{-(Empty)-})-}
|
||||||
|
{-(Type
|
||||||
|
{-(TypeVariableIdentifier)-}
|
||||||
|
{-(TypeParameters)-}
|
||||||
|
{-(Empty)-})-})-})-}
|
||||||
|
{-(TypeParameters)-}
|
||||||
|
{-(Empty)-})-}
|
||||||
|
{-(FunctionType
|
||||||
|
{-(Type
|
||||||
|
{-(TypeConstructorIdentifier)-}
|
||||||
|
{-(TypeParameters
|
||||||
|
{-(TypeVariableIdentifier)-}
|
||||||
|
{-(TypeVariableIdentifier)-})-}
|
||||||
|
{-(Empty)-})-}
|
||||||
|
{-(Type
|
||||||
|
{-(TypeVariableIdentifier)-}
|
||||||
|
{-(TypeParameters)-}
|
||||||
|
{-(Empty)-})-})-})-})-})-}))
|
||||||
|
@ -2,82 +2,465 @@
|
|||||||
(Empty)
|
(Empty)
|
||||||
(Statements
|
(Statements
|
||||||
(TypeSignature
|
(TypeSignature
|
||||||
{ (Identifier)
|
{ (VariableIdentifier)
|
||||||
->(Identifier) }
|
->(VariableIdentifier) }
|
||||||
(FunctionType
|
(FunctionType
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty))
|
(Empty))
|
||||||
(FunctionType
|
(FunctionType
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty))
|
(Empty))
|
||||||
(FunctionType
|
(FunctionType
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty))
|
(Empty))
|
||||||
(FunctionType
|
(FunctionType
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty))
|
(Empty))
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters
|
(TypeParameters
|
||||||
(Identifier))
|
(TypeConstructorIdentifier))
|
||||||
(Empty)))))))
|
(Empty)))))))
|
||||||
{+(TypeSignature
|
{+(TypeSignature
|
||||||
{+(Identifier)+}
|
{+(VariableIdentifier)+}
|
||||||
{+(FunctionType
|
{+(FunctionType
|
||||||
{+(Type
|
{+(Type
|
||||||
{+(Identifier)+}
|
{+(TypeVariableIdentifier)+}
|
||||||
{+(TypeParameters)+}
|
{+(TypeParameters)+}
|
||||||
{+(Empty)+})+}
|
{+(Empty)+})+}
|
||||||
{+(FunctionType
|
{+(FunctionType
|
||||||
{+(Type
|
{+(Type
|
||||||
{+(Identifier)+}
|
{+(TypeVariableIdentifier)+}
|
||||||
{+(TypeParameters)+}
|
{+(TypeParameters)+}
|
||||||
{+(Empty)+})+}
|
{+(Empty)+})+}
|
||||||
{+(FunctionType
|
{+(FunctionType
|
||||||
{+(Type
|
{+(Type
|
||||||
{+(Identifier)+}
|
{+(TypeVariableIdentifier)+}
|
||||||
{+(TypeParameters)+}
|
{+(TypeParameters)+}
|
||||||
{+(Empty)+})+}
|
{+(Empty)+})+}
|
||||||
{+(FunctionType
|
{+(FunctionType
|
||||||
{+(Type
|
{+(Type
|
||||||
{+(Array
|
{+(Array
|
||||||
{+(Type
|
{+(Type
|
||||||
{+(Identifier)+}
|
{+(TypeConstructorIdentifier)+}
|
||||||
{+(TypeParameters)+}
|
{+(TypeParameters)+}
|
||||||
{+(Empty)+})+})+}
|
{+(Empty)+})+})+}
|
||||||
{+(TypeParameters)+}
|
{+(TypeParameters)+}
|
||||||
{+(Empty)+})+}
|
{+(Empty)+})+}
|
||||||
{+(Type
|
{+(Type
|
||||||
{+(Identifier)+}
|
{+(TypeConstructorIdentifier)+}
|
||||||
{+(TypeParameters
|
{+(TypeParameters
|
||||||
{+(Identifier)+})+}
|
{+(TypeConstructorIdentifier)+})+}
|
||||||
{+(Empty)+})+})+})+})+})+})+}
|
{+(Empty)+})+})+})+})+})+})+}
|
||||||
(TypeSignature
|
{+(TypeSignature
|
||||||
(Identifier)
|
{+(VariableIdentifier)+}
|
||||||
(Context'
|
|
||||||
(Class
|
|
||||||
(Identifier)
|
|
||||||
(TypeParameters
|
|
||||||
(Identifier))))
|
|
||||||
{+(Context'
|
{+(Context'
|
||||||
{+(Class
|
{+(Statements
|
||||||
{+(Identifier)+}
|
{+(Class
|
||||||
{+(TypeParameters
|
{+(TypeClassIdentifier)+}
|
||||||
{+(Identifier)+})+})+})+}
|
{+(TypeParameters
|
||||||
|
{+(TypeVariableIdentifier)+})+})+})+})+}
|
||||||
|
{+(Context'
|
||||||
|
{+(Statements
|
||||||
|
{+(Class
|
||||||
|
{+(TypeClassIdentifier)+}
|
||||||
|
{+(TypeParameters
|
||||||
|
{+(TypeVariableIdentifier)+})+})+})+})+}
|
||||||
|
{+(FunctionType
|
||||||
|
{+(Type
|
||||||
|
{+(TypeVariableIdentifier)+}
|
||||||
|
{+(TypeParameters)+}
|
||||||
|
{+(Empty)+})+}
|
||||||
|
{+(Type
|
||||||
|
{+(TypeVariableIdentifier)+}
|
||||||
|
{+(TypeParameters)+}
|
||||||
|
{+(Empty)+})+})+})+}
|
||||||
|
{+(TypeSignature
|
||||||
|
{+(VariableIdentifier)+}
|
||||||
|
{+(FunctionType
|
||||||
|
{+(Type
|
||||||
|
{+(TypeConstructorIdentifier)+}
|
||||||
|
{+(TypeParameters)+}
|
||||||
|
{+(Empty)+})+}
|
||||||
|
{+(Type
|
||||||
|
{+(TypeConstructorIdentifier)+}
|
||||||
|
{+(TypeParameters)+}
|
||||||
|
{+(Empty)+})+})+})+}
|
||||||
|
(TypeSignature
|
||||||
|
{ (VariableIdentifier)
|
||||||
|
->(VariableIdentifier) }
|
||||||
|
{-(Context'
|
||||||
|
{-(Statements
|
||||||
|
{-(Class
|
||||||
|
{-(TypeClassIdentifier)-}
|
||||||
|
{-(TypeParameters
|
||||||
|
{-(TypeVariableIdentifier)-})-})-})-})-}
|
||||||
(FunctionType
|
(FunctionType
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
{ (TypeVariableIdentifier)
|
||||||
|
->(Array
|
||||||
|
{+(Type
|
||||||
|
{+(TypeConstructorIdentifier)+}
|
||||||
|
{+(TypeParameters)+}
|
||||||
|
{+(Empty)+})+}) }
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty))
|
(Empty))
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
{ (TypeVariableIdentifier)
|
||||||
|
->(TypeConstructorIdentifier) }
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty))))))
|
(Empty))))
|
||||||
|
{+(TypeSignature
|
||||||
|
{+(VariableIdentifier)+}
|
||||||
|
{+(FunctionType
|
||||||
|
{+(Type
|
||||||
|
{+(Tuple
|
||||||
|
{+(Type
|
||||||
|
{+(TypeConstructorIdentifier)+}
|
||||||
|
{+(TypeParameters)+}
|
||||||
|
{+(Empty)+})+}
|
||||||
|
{+(Type
|
||||||
|
{+(TypeConstructorIdentifier)+}
|
||||||
|
{+(TypeParameters)+}
|
||||||
|
{+(Empty)+})+})+}
|
||||||
|
{+(TypeParameters)+}
|
||||||
|
{+(Empty)+})+}
|
||||||
|
{+(Type
|
||||||
|
{+(TypeConstructorIdentifier)+}
|
||||||
|
{+(TypeParameters
|
||||||
|
{+(TypeConstructorIdentifier)+})+}
|
||||||
|
{+(Empty)+})+})+})+}
|
||||||
|
{+(TypeSignature
|
||||||
|
{+(VariableIdentifier)+}
|
||||||
|
{+(FunctionType
|
||||||
|
{+(Type
|
||||||
|
{+(TypeVariableIdentifier)+}
|
||||||
|
{+(TypeParameters)+}
|
||||||
|
{+(Empty)+})+}
|
||||||
|
{+(FunctionType
|
||||||
|
{+(Type
|
||||||
|
{+(TypeConstructorIdentifier)+}
|
||||||
|
{+(TypeParameters
|
||||||
|
{+(TypeVariableIdentifier)+}
|
||||||
|
{+(Statements
|
||||||
|
{+(TypeConstructorIdentifier)+}
|
||||||
|
{+(InfixOperatorPattern
|
||||||
|
{+(Type
|
||||||
|
{+(TypeConstructorIdentifier)+}
|
||||||
|
{+(TypeParameters
|
||||||
|
{+(TypeVariableIdentifier)+})+}
|
||||||
|
{+(Empty)+})+}
|
||||||
|
{+(TypeOperator)+}
|
||||||
|
{+(Type
|
||||||
|
{+(TypeVariableIdentifier)+}
|
||||||
|
{+(TypeParameters)+}
|
||||||
|
{+(Empty)+})+})+})+})+}
|
||||||
|
{+(Empty)+})+}
|
||||||
|
{+(Type
|
||||||
|
{+(TypeConstructorIdentifier)+}
|
||||||
|
{+(TypeParameters
|
||||||
|
{+(Array
|
||||||
|
{+(Type
|
||||||
|
{+(TypeConstructorIdentifier)+}
|
||||||
|
{+(TypeParameters
|
||||||
|
{+(TypeVariableIdentifier)+})+}
|
||||||
|
{+(Empty)+})+})+}
|
||||||
|
{+(Statements
|
||||||
|
{+(TypeConstructorIdentifier)+}
|
||||||
|
{+(TypeVariableIdentifier)+}
|
||||||
|
{+(Statements
|
||||||
|
{+(TypeConstructorIdentifier)+}
|
||||||
|
{+(InfixOperatorPattern
|
||||||
|
{+(Type
|
||||||
|
{+(TypeConstructorIdentifier)+}
|
||||||
|
{+(TypeParameters
|
||||||
|
{+(TypeVariableIdentifier)+})+}
|
||||||
|
{+(Empty)+})+}
|
||||||
|
{+(TypeOperator)+}
|
||||||
|
{+(Type
|
||||||
|
{+(TypeVariableIdentifier)+}
|
||||||
|
{+(TypeParameters)+}
|
||||||
|
{+(Empty)+})+})+})+})+})+}
|
||||||
|
{+(Empty)+})+})+})+})+}
|
||||||
|
{+(TypeSignature
|
||||||
|
{+(VariableIdentifier)+}
|
||||||
|
{+(ScopedTypeVariables
|
||||||
|
{+(TypeVariableIdentifier)+})+}
|
||||||
|
{+(FunctionType
|
||||||
|
{+(Type
|
||||||
|
{+(Array
|
||||||
|
{+(Type
|
||||||
|
{+(TypeVariableIdentifier)+}
|
||||||
|
{+(TypeParameters)+}
|
||||||
|
{+(Empty)+})+})+}
|
||||||
|
{+(TypeParameters)+}
|
||||||
|
{+(Empty)+})+}
|
||||||
|
{+(Type
|
||||||
|
{+(Array
|
||||||
|
{+(Type
|
||||||
|
{+(TypeVariableIdentifier)+}
|
||||||
|
{+(TypeParameters)+}
|
||||||
|
{+(Empty)+})+})+}
|
||||||
|
{+(TypeParameters)+}
|
||||||
|
{+(Empty)+})+})+})+}
|
||||||
|
{+(TypeSignature
|
||||||
|
{+(VariableIdentifier)+}
|
||||||
|
{+(ScopedTypeVariables
|
||||||
|
{+(Statements
|
||||||
|
{+(TypeVariableIdentifier)+}
|
||||||
|
{+(TypeVariableIdentifier)+})+})+}
|
||||||
|
{+(FunctionType
|
||||||
|
{+(Type
|
||||||
|
{+(Tuple
|
||||||
|
{+(Type
|
||||||
|
{+(TypeVariableIdentifier)+}
|
||||||
|
{+(TypeParameters)+}
|
||||||
|
{+(Empty)+})+}
|
||||||
|
{+(Type
|
||||||
|
{+(TypeVariableIdentifier)+}
|
||||||
|
{+(TypeParameters)+}
|
||||||
|
{+(Empty)+})+})+}
|
||||||
|
{+(TypeParameters)+}
|
||||||
|
{+(Empty)+})+}
|
||||||
|
{+(Type
|
||||||
|
{+(Array
|
||||||
|
{+(Type
|
||||||
|
{+(TypeVariableIdentifier)+}
|
||||||
|
{+(TypeParameters)+}
|
||||||
|
{+(Empty)+})+})+}
|
||||||
|
{+(TypeParameters)+}
|
||||||
|
{+(Empty)+})+})+})+}
|
||||||
|
{+(TypeSignature
|
||||||
|
{+(VariableIdentifier)+}
|
||||||
|
{+(FunctionType
|
||||||
|
{+(Type
|
||||||
|
{+(TypeVariableIdentifier)+}
|
||||||
|
{+(TypeParameters
|
||||||
|
{+(TypeVariableIdentifier)+})+}
|
||||||
|
{+(Empty)+})+}
|
||||||
|
{+(FunctionType
|
||||||
|
{+(Type
|
||||||
|
{+(Statements
|
||||||
|
{+(ScopedTypeVariables
|
||||||
|
{+(TypeVariableIdentifier)+})+}
|
||||||
|
{+(Context'
|
||||||
|
{+(Statements
|
||||||
|
{+(TypeVariableIdentifier)+}
|
||||||
|
{+(TypeVariableIdentifier)+})+})+}
|
||||||
|
{+(FunctionType
|
||||||
|
{+(Type
|
||||||
|
{+(TypeVariableIdentifier)+}
|
||||||
|
{+(TypeParameters
|
||||||
|
{+(TypeVariableIdentifier)+})+}
|
||||||
|
{+(Empty)+})+}
|
||||||
|
{+(Type
|
||||||
|
{+(TypeVariableIdentifier)+}
|
||||||
|
{+(TypeParameters)+}
|
||||||
|
{+(Empty)+})+})+})+}
|
||||||
|
{+(TypeParameters)+}
|
||||||
|
{+(Empty)+})+}
|
||||||
|
{+(FunctionType
|
||||||
|
{+(Type
|
||||||
|
{+(TypeConstructorIdentifier)+}
|
||||||
|
{+(TypeParameters
|
||||||
|
{+(TypeVariableIdentifier)+}
|
||||||
|
{+(TypeVariableIdentifier)+})+}
|
||||||
|
{+(Empty)+})+}
|
||||||
|
{+(Type
|
||||||
|
{+(TypeVariableIdentifier)+}
|
||||||
|
{+(TypeParameters)+}
|
||||||
|
{+(Empty)+})+})+})+})+})+}
|
||||||
|
{-(TypeSignature
|
||||||
|
{-(VariableIdentifier)-}
|
||||||
|
{-(FunctionType
|
||||||
|
{-(Type
|
||||||
|
{-(TypeConstructorIdentifier)-}
|
||||||
|
{-(TypeParameters)-}
|
||||||
|
{-(Empty)-})-}
|
||||||
|
{-(Type
|
||||||
|
{-(TypeConstructorIdentifier)-}
|
||||||
|
{-(TypeParameters)-}
|
||||||
|
{-(Empty)-})-})-})-}
|
||||||
|
{-(TypeSignature
|
||||||
|
{-(VariableIdentifier)-}
|
||||||
|
{-(FunctionType
|
||||||
|
{-(Type
|
||||||
|
{-(Array
|
||||||
|
{-(Type
|
||||||
|
{-(TypeConstructorIdentifier)-}
|
||||||
|
{-(TypeParameters)-}
|
||||||
|
{-(Empty)-})-})-}
|
||||||
|
{-(TypeParameters)-}
|
||||||
|
{-(Empty)-})-}
|
||||||
|
{-(Type
|
||||||
|
{-(TypeConstructorIdentifier)-}
|
||||||
|
{-(TypeParameters)-}
|
||||||
|
{-(Empty)-})-})-})-}
|
||||||
|
{-(TypeSignature
|
||||||
|
{-(VariableIdentifier)-}
|
||||||
|
{-(FunctionType
|
||||||
|
{-(Type
|
||||||
|
{-(Tuple
|
||||||
|
{-(Type
|
||||||
|
{-(TypeConstructorIdentifier)-}
|
||||||
|
{-(TypeParameters)-}
|
||||||
|
{-(Empty)-})-}
|
||||||
|
{-(Type
|
||||||
|
{-(TypeConstructorIdentifier)-}
|
||||||
|
{-(TypeParameters)-}
|
||||||
|
{-(Empty)-})-})-}
|
||||||
|
{-(TypeParameters)-}
|
||||||
|
{-(Empty)-})-}
|
||||||
|
{-(Type
|
||||||
|
{-(TypeConstructorIdentifier)-}
|
||||||
|
{-(TypeParameters
|
||||||
|
{-(TypeConstructorIdentifier)-})-}
|
||||||
|
{-(Empty)-})-})-})-}
|
||||||
|
{-(TypeSignature
|
||||||
|
{-(VariableIdentifier)-}
|
||||||
|
{-(FunctionType
|
||||||
|
{-(Type
|
||||||
|
{-(TypeVariableIdentifier)-}
|
||||||
|
{-(TypeParameters)-}
|
||||||
|
{-(Empty)-})-}
|
||||||
|
{-(FunctionType
|
||||||
|
{-(Type
|
||||||
|
{-(TypeConstructorIdentifier)-}
|
||||||
|
{-(TypeParameters
|
||||||
|
{-(TypeVariableIdentifier)-}
|
||||||
|
{-(Statements
|
||||||
|
{-(TypeConstructorIdentifier)-}
|
||||||
|
{-(InfixOperatorPattern
|
||||||
|
{-(Type
|
||||||
|
{-(TypeConstructorIdentifier)-}
|
||||||
|
{-(TypeParameters
|
||||||
|
{-(TypeVariableIdentifier)-})-}
|
||||||
|
{-(Empty)-})-}
|
||||||
|
{-(TypeOperator)-}
|
||||||
|
{-(Type
|
||||||
|
{-(TypeVariableIdentifier)-}
|
||||||
|
{-(TypeParameters)-}
|
||||||
|
{-(Empty)-})-})-})-})-}
|
||||||
|
{-(Empty)-})-}
|
||||||
|
{-(Type
|
||||||
|
{-(TypeConstructorIdentifier)-}
|
||||||
|
{-(TypeParameters
|
||||||
|
{-(Array
|
||||||
|
{-(Type
|
||||||
|
{-(TypeConstructorIdentifier)-}
|
||||||
|
{-(TypeParameters
|
||||||
|
{-(TypeVariableIdentifier)-})-}
|
||||||
|
{-(Empty)-})-})-}
|
||||||
|
{-(Statements
|
||||||
|
{-(TypeConstructorIdentifier)-}
|
||||||
|
{-(TypeVariableIdentifier)-}
|
||||||
|
{-(Statements
|
||||||
|
{-(TypeConstructorIdentifier)-}
|
||||||
|
{-(InfixOperatorPattern
|
||||||
|
{-(Type
|
||||||
|
{-(TypeConstructorIdentifier)-}
|
||||||
|
{-(TypeParameters
|
||||||
|
{-(TypeVariableIdentifier)-})-}
|
||||||
|
{-(Empty)-})-}
|
||||||
|
{-(TypeOperator)-}
|
||||||
|
{-(Type
|
||||||
|
{-(TypeVariableIdentifier)-}
|
||||||
|
{-(TypeParameters)-}
|
||||||
|
{-(Empty)-})-})-})-})-})-}
|
||||||
|
{-(Empty)-})-})-})-})-}
|
||||||
|
{-(TypeSignature
|
||||||
|
{-(VariableIdentifier)-}
|
||||||
|
{-(ScopedTypeVariables
|
||||||
|
{-(TypeVariableIdentifier)-})-}
|
||||||
|
{-(FunctionType
|
||||||
|
{-(Type
|
||||||
|
{-(Array
|
||||||
|
{-(Type
|
||||||
|
{-(TypeVariableIdentifier)-}
|
||||||
|
{-(TypeParameters)-}
|
||||||
|
{-(Empty)-})-})-}
|
||||||
|
{-(TypeParameters)-}
|
||||||
|
{-(Empty)-})-}
|
||||||
|
{-(Type
|
||||||
|
{-(Array
|
||||||
|
{-(Type
|
||||||
|
{-(TypeVariableIdentifier)-}
|
||||||
|
{-(TypeParameters)-}
|
||||||
|
{-(Empty)-})-})-}
|
||||||
|
{-(TypeParameters)-}
|
||||||
|
{-(Empty)-})-})-})-}
|
||||||
|
{-(TypeSignature
|
||||||
|
{-(VariableIdentifier)-}
|
||||||
|
{-(ScopedTypeVariables
|
||||||
|
{-(Statements
|
||||||
|
{-(TypeVariableIdentifier)-}
|
||||||
|
{-(TypeVariableIdentifier)-})-})-}
|
||||||
|
{-(FunctionType
|
||||||
|
{-(Type
|
||||||
|
{-(Tuple
|
||||||
|
{-(Type
|
||||||
|
{-(TypeVariableIdentifier)-}
|
||||||
|
{-(TypeParameters)-}
|
||||||
|
{-(Empty)-})-}
|
||||||
|
{-(Type
|
||||||
|
{-(TypeVariableIdentifier)-}
|
||||||
|
{-(TypeParameters)-}
|
||||||
|
{-(Empty)-})-})-}
|
||||||
|
{-(TypeParameters)-}
|
||||||
|
{-(Empty)-})-}
|
||||||
|
{-(Type
|
||||||
|
{-(Array
|
||||||
|
{-(Type
|
||||||
|
{-(TypeVariableIdentifier)-}
|
||||||
|
{-(TypeParameters)-}
|
||||||
|
{-(Empty)-})-})-}
|
||||||
|
{-(TypeParameters)-}
|
||||||
|
{-(Empty)-})-})-})-}
|
||||||
|
{-(TypeSignature
|
||||||
|
{-(VariableIdentifier)-}
|
||||||
|
{-(FunctionType
|
||||||
|
{-(Type
|
||||||
|
{-(TypeVariableIdentifier)-}
|
||||||
|
{-(TypeParameters
|
||||||
|
{-(TypeVariableIdentifier)-})-}
|
||||||
|
{-(Empty)-})-}
|
||||||
|
{-(FunctionType
|
||||||
|
{-(Type
|
||||||
|
{-(Statements
|
||||||
|
{-(ScopedTypeVariables
|
||||||
|
{-(TypeVariableIdentifier)-})-}
|
||||||
|
{-(Context'
|
||||||
|
{-(Statements
|
||||||
|
{-(TypeVariableIdentifier)-}
|
||||||
|
{-(TypeVariableIdentifier)-})-})-}
|
||||||
|
{-(FunctionType
|
||||||
|
{-(Type
|
||||||
|
{-(TypeVariableIdentifier)-}
|
||||||
|
{-(TypeParameters
|
||||||
|
{-(TypeVariableIdentifier)-})-}
|
||||||
|
{-(Empty)-})-}
|
||||||
|
{-(Type
|
||||||
|
{-(TypeVariableIdentifier)-}
|
||||||
|
{-(TypeParameters)-}
|
||||||
|
{-(Empty)-})-})-})-}
|
||||||
|
{-(TypeParameters)-}
|
||||||
|
{-(Empty)-})-}
|
||||||
|
{-(FunctionType
|
||||||
|
{-(Type
|
||||||
|
{-(TypeConstructorIdentifier)-}
|
||||||
|
{-(TypeParameters
|
||||||
|
{-(TypeVariableIdentifier)-}
|
||||||
|
{-(TypeVariableIdentifier)-})-}
|
||||||
|
{-(Empty)-})-}
|
||||||
|
{-(Type
|
||||||
|
{-(TypeVariableIdentifier)-}
|
||||||
|
{-(TypeParameters)-}
|
||||||
|
{-(Empty)-})-})-})-})-})-}))
|
||||||
|
@ -2,81 +2,269 @@
|
|||||||
(Empty)
|
(Empty)
|
||||||
(Statements
|
(Statements
|
||||||
(TypeSignature
|
(TypeSignature
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(FunctionType
|
(FunctionType
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty))
|
(Empty))
|
||||||
(FunctionType
|
(FunctionType
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty))
|
(Empty))
|
||||||
(FunctionType
|
(FunctionType
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty))
|
(Empty))
|
||||||
(FunctionType
|
(FunctionType
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty))
|
(Empty))
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters
|
(TypeParameters
|
||||||
(Identifier))
|
(TypeConstructorIdentifier))
|
||||||
(Empty)))))))
|
(Empty)))))))
|
||||||
(TypeSignature
|
(TypeSignature
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(FunctionType
|
(FunctionType
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty))
|
(Empty))
|
||||||
(FunctionType
|
(FunctionType
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty))
|
(Empty))
|
||||||
(FunctionType
|
(FunctionType
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty))
|
(Empty))
|
||||||
(FunctionType
|
(FunctionType
|
||||||
(Type
|
(Type
|
||||||
(Array
|
(Array
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty)))
|
(Empty)))
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty))
|
(Empty))
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters
|
(TypeParameters
|
||||||
(Identifier))
|
(TypeConstructorIdentifier))
|
||||||
(Empty)))))))
|
(Empty)))))))
|
||||||
(TypeSignature
|
(TypeSignature
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Context'
|
(Context'
|
||||||
(Class
|
(Statements
|
||||||
(Identifier)
|
(Class
|
||||||
(TypeParameters
|
(TypeClassIdentifier)
|
||||||
(Identifier))))
|
(TypeParameters
|
||||||
|
(TypeVariableIdentifier)))))
|
||||||
(Context'
|
(Context'
|
||||||
(Class
|
(Statements
|
||||||
(Identifier)
|
(Class
|
||||||
(TypeParameters
|
(TypeClassIdentifier)
|
||||||
(Identifier))))
|
(TypeParameters
|
||||||
|
(TypeVariableIdentifier)))))
|
||||||
(FunctionType
|
(FunctionType
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty))
|
(Empty))
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty))))))
|
(Empty))))
|
||||||
|
(TypeSignature
|
||||||
|
(VariableIdentifier)
|
||||||
|
(FunctionType
|
||||||
|
(Type
|
||||||
|
(TypeConstructorIdentifier)
|
||||||
|
(TypeParameters)
|
||||||
|
(Empty))
|
||||||
|
(Type
|
||||||
|
(TypeConstructorIdentifier)
|
||||||
|
(TypeParameters)
|
||||||
|
(Empty))))
|
||||||
|
(TypeSignature
|
||||||
|
(VariableIdentifier)
|
||||||
|
(FunctionType
|
||||||
|
(Type
|
||||||
|
(Array
|
||||||
|
(Type
|
||||||
|
(TypeConstructorIdentifier)
|
||||||
|
(TypeParameters)
|
||||||
|
(Empty)))
|
||||||
|
(TypeParameters)
|
||||||
|
(Empty))
|
||||||
|
(Type
|
||||||
|
(TypeConstructorIdentifier)
|
||||||
|
(TypeParameters)
|
||||||
|
(Empty))))
|
||||||
|
(TypeSignature
|
||||||
|
(VariableIdentifier)
|
||||||
|
(FunctionType
|
||||||
|
(Type
|
||||||
|
(Tuple
|
||||||
|
(Type
|
||||||
|
(TypeConstructorIdentifier)
|
||||||
|
(TypeParameters)
|
||||||
|
(Empty))
|
||||||
|
(Type
|
||||||
|
(TypeConstructorIdentifier)
|
||||||
|
(TypeParameters)
|
||||||
|
(Empty)))
|
||||||
|
(TypeParameters)
|
||||||
|
(Empty))
|
||||||
|
(Type
|
||||||
|
(TypeConstructorIdentifier)
|
||||||
|
(TypeParameters
|
||||||
|
(TypeConstructorIdentifier))
|
||||||
|
(Empty))))
|
||||||
|
(TypeSignature
|
||||||
|
(VariableIdentifier)
|
||||||
|
(FunctionType
|
||||||
|
(Type
|
||||||
|
(TypeVariableIdentifier)
|
||||||
|
(TypeParameters)
|
||||||
|
(Empty))
|
||||||
|
(FunctionType
|
||||||
|
(Type
|
||||||
|
(TypeConstructorIdentifier)
|
||||||
|
(TypeParameters
|
||||||
|
(TypeVariableIdentifier)
|
||||||
|
(Statements
|
||||||
|
(TypeConstructorIdentifier)
|
||||||
|
(InfixOperatorPattern
|
||||||
|
(Type
|
||||||
|
(TypeConstructorIdentifier)
|
||||||
|
(TypeParameters
|
||||||
|
(TypeVariableIdentifier))
|
||||||
|
(Empty))
|
||||||
|
(TypeOperator)
|
||||||
|
(Type
|
||||||
|
(TypeVariableIdentifier)
|
||||||
|
(TypeParameters)
|
||||||
|
(Empty)))))
|
||||||
|
(Empty))
|
||||||
|
(Type
|
||||||
|
(TypeConstructorIdentifier)
|
||||||
|
(TypeParameters
|
||||||
|
(Array
|
||||||
|
(Type
|
||||||
|
(TypeConstructorIdentifier)
|
||||||
|
(TypeParameters
|
||||||
|
(TypeVariableIdentifier))
|
||||||
|
(Empty)))
|
||||||
|
(Statements
|
||||||
|
(TypeConstructorIdentifier)
|
||||||
|
(TypeVariableIdentifier)
|
||||||
|
(Statements
|
||||||
|
(TypeConstructorIdentifier)
|
||||||
|
(InfixOperatorPattern
|
||||||
|
(Type
|
||||||
|
(TypeConstructorIdentifier)
|
||||||
|
(TypeParameters
|
||||||
|
(TypeVariableIdentifier))
|
||||||
|
(Empty))
|
||||||
|
(TypeOperator)
|
||||||
|
(Type
|
||||||
|
(TypeVariableIdentifier)
|
||||||
|
(TypeParameters)
|
||||||
|
(Empty))))))
|
||||||
|
(Empty)))))
|
||||||
|
(TypeSignature
|
||||||
|
(VariableIdentifier)
|
||||||
|
(ScopedTypeVariables
|
||||||
|
(TypeVariableIdentifier))
|
||||||
|
(FunctionType
|
||||||
|
(Type
|
||||||
|
(Array
|
||||||
|
(Type
|
||||||
|
(TypeVariableIdentifier)
|
||||||
|
(TypeParameters)
|
||||||
|
(Empty)))
|
||||||
|
(TypeParameters)
|
||||||
|
(Empty))
|
||||||
|
(Type
|
||||||
|
(Array
|
||||||
|
(Type
|
||||||
|
(TypeVariableIdentifier)
|
||||||
|
(TypeParameters)
|
||||||
|
(Empty)))
|
||||||
|
(TypeParameters)
|
||||||
|
(Empty))))
|
||||||
|
(TypeSignature
|
||||||
|
(VariableIdentifier)
|
||||||
|
(ScopedTypeVariables
|
||||||
|
(Statements
|
||||||
|
(TypeVariableIdentifier)
|
||||||
|
(TypeVariableIdentifier)))
|
||||||
|
(FunctionType
|
||||||
|
(Type
|
||||||
|
(Tuple
|
||||||
|
(Type
|
||||||
|
(TypeVariableIdentifier)
|
||||||
|
(TypeParameters)
|
||||||
|
(Empty))
|
||||||
|
(Type
|
||||||
|
(TypeVariableIdentifier)
|
||||||
|
(TypeParameters)
|
||||||
|
(Empty)))
|
||||||
|
(TypeParameters)
|
||||||
|
(Empty))
|
||||||
|
(Type
|
||||||
|
(Array
|
||||||
|
(Type
|
||||||
|
(TypeVariableIdentifier)
|
||||||
|
(TypeParameters)
|
||||||
|
(Empty)))
|
||||||
|
(TypeParameters)
|
||||||
|
(Empty))))
|
||||||
|
(TypeSignature
|
||||||
|
(VariableIdentifier)
|
||||||
|
(FunctionType
|
||||||
|
(Type
|
||||||
|
(TypeVariableIdentifier)
|
||||||
|
(TypeParameters
|
||||||
|
(TypeVariableIdentifier))
|
||||||
|
(Empty))
|
||||||
|
(FunctionType
|
||||||
|
(Type
|
||||||
|
(Statements
|
||||||
|
(ScopedTypeVariables
|
||||||
|
(TypeVariableIdentifier))
|
||||||
|
(Context'
|
||||||
|
(Statements
|
||||||
|
(TypeVariableIdentifier)
|
||||||
|
(TypeVariableIdentifier)))
|
||||||
|
(FunctionType
|
||||||
|
(Type
|
||||||
|
(TypeVariableIdentifier)
|
||||||
|
(TypeParameters
|
||||||
|
(TypeVariableIdentifier))
|
||||||
|
(Empty))
|
||||||
|
(Type
|
||||||
|
(TypeVariableIdentifier)
|
||||||
|
(TypeParameters)
|
||||||
|
(Empty))))
|
||||||
|
(TypeParameters)
|
||||||
|
(Empty))
|
||||||
|
(FunctionType
|
||||||
|
(Type
|
||||||
|
(TypeConstructorIdentifier)
|
||||||
|
(TypeParameters
|
||||||
|
(TypeVariableIdentifier)
|
||||||
|
(TypeVariableIdentifier))
|
||||||
|
(Empty))
|
||||||
|
(Type
|
||||||
|
(TypeVariableIdentifier)
|
||||||
|
(TypeParameters)
|
||||||
|
(Empty))))))))
|
||||||
|
@ -2,45 +2,232 @@
|
|||||||
(Empty)
|
(Empty)
|
||||||
(Statements
|
(Statements
|
||||||
(TypeSignature
|
(TypeSignature
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(FunctionType
|
(FunctionType
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty))
|
(Empty))
|
||||||
(FunctionType
|
(FunctionType
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty))
|
(Empty))
|
||||||
(FunctionType
|
(FunctionType
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty))
|
(Empty))
|
||||||
(FunctionType
|
(FunctionType
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty))
|
(Empty))
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters
|
(TypeParameters
|
||||||
(Identifier))
|
(TypeConstructorIdentifier))
|
||||||
(Empty)))))))
|
(Empty)))))))
|
||||||
(TypeSignature
|
(TypeSignature
|
||||||
(Identifier)
|
(VariableIdentifier)
|
||||||
(Context'
|
(Context'
|
||||||
(Class
|
(Statements
|
||||||
(Identifier)
|
(Class
|
||||||
(TypeParameters
|
(TypeClassIdentifier)
|
||||||
(Identifier))))
|
(TypeParameters
|
||||||
|
(TypeVariableIdentifier)))))
|
||||||
(FunctionType
|
(FunctionType
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty))
|
(Empty))
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty))))))
|
(Empty))))
|
||||||
|
(TypeSignature
|
||||||
|
(VariableIdentifier)
|
||||||
|
(FunctionType
|
||||||
|
(Type
|
||||||
|
(TypeConstructorIdentifier)
|
||||||
|
(TypeParameters)
|
||||||
|
(Empty))
|
||||||
|
(Type
|
||||||
|
(TypeConstructorIdentifier)
|
||||||
|
(TypeParameters)
|
||||||
|
(Empty))))
|
||||||
|
(TypeSignature
|
||||||
|
(VariableIdentifier)
|
||||||
|
(FunctionType
|
||||||
|
(Type
|
||||||
|
(Array
|
||||||
|
(Type
|
||||||
|
(TypeConstructorIdentifier)
|
||||||
|
(TypeParameters)
|
||||||
|
(Empty)))
|
||||||
|
(TypeParameters)
|
||||||
|
(Empty))
|
||||||
|
(Type
|
||||||
|
(TypeConstructorIdentifier)
|
||||||
|
(TypeParameters)
|
||||||
|
(Empty))))
|
||||||
|
(TypeSignature
|
||||||
|
(VariableIdentifier)
|
||||||
|
(FunctionType
|
||||||
|
(Type
|
||||||
|
(Tuple
|
||||||
|
(Type
|
||||||
|
(TypeConstructorIdentifier)
|
||||||
|
(TypeParameters)
|
||||||
|
(Empty))
|
||||||
|
(Type
|
||||||
|
(TypeConstructorIdentifier)
|
||||||
|
(TypeParameters)
|
||||||
|
(Empty)))
|
||||||
|
(TypeParameters)
|
||||||
|
(Empty))
|
||||||
|
(Type
|
||||||
|
(TypeConstructorIdentifier)
|
||||||
|
(TypeParameters
|
||||||
|
(TypeConstructorIdentifier))
|
||||||
|
(Empty))))
|
||||||
|
(TypeSignature
|
||||||
|
(VariableIdentifier)
|
||||||
|
(FunctionType
|
||||||
|
(Type
|
||||||
|
(TypeVariableIdentifier)
|
||||||
|
(TypeParameters)
|
||||||
|
(Empty))
|
||||||
|
(FunctionType
|
||||||
|
(Type
|
||||||
|
(TypeConstructorIdentifier)
|
||||||
|
(TypeParameters
|
||||||
|
(TypeVariableIdentifier)
|
||||||
|
(Statements
|
||||||
|
(TypeConstructorIdentifier)
|
||||||
|
(InfixOperatorPattern
|
||||||
|
(Type
|
||||||
|
(TypeConstructorIdentifier)
|
||||||
|
(TypeParameters
|
||||||
|
(TypeVariableIdentifier))
|
||||||
|
(Empty))
|
||||||
|
(TypeOperator)
|
||||||
|
(Type
|
||||||
|
(TypeVariableIdentifier)
|
||||||
|
(TypeParameters)
|
||||||
|
(Empty)))))
|
||||||
|
(Empty))
|
||||||
|
(Type
|
||||||
|
(TypeConstructorIdentifier)
|
||||||
|
(TypeParameters
|
||||||
|
(Array
|
||||||
|
(Type
|
||||||
|
(TypeConstructorIdentifier)
|
||||||
|
(TypeParameters
|
||||||
|
(TypeVariableIdentifier))
|
||||||
|
(Empty)))
|
||||||
|
(Statements
|
||||||
|
(TypeConstructorIdentifier)
|
||||||
|
(TypeVariableIdentifier)
|
||||||
|
(Statements
|
||||||
|
(TypeConstructorIdentifier)
|
||||||
|
(InfixOperatorPattern
|
||||||
|
(Type
|
||||||
|
(TypeConstructorIdentifier)
|
||||||
|
(TypeParameters
|
||||||
|
(TypeVariableIdentifier))
|
||||||
|
(Empty))
|
||||||
|
(TypeOperator)
|
||||||
|
(Type
|
||||||
|
(TypeVariableIdentifier)
|
||||||
|
(TypeParameters)
|
||||||
|
(Empty))))))
|
||||||
|
(Empty)))))
|
||||||
|
(TypeSignature
|
||||||
|
(VariableIdentifier)
|
||||||
|
(ScopedTypeVariables
|
||||||
|
(TypeVariableIdentifier))
|
||||||
|
(FunctionType
|
||||||
|
(Type
|
||||||
|
(Array
|
||||||
|
(Type
|
||||||
|
(TypeVariableIdentifier)
|
||||||
|
(TypeParameters)
|
||||||
|
(Empty)))
|
||||||
|
(TypeParameters)
|
||||||
|
(Empty))
|
||||||
|
(Type
|
||||||
|
(Array
|
||||||
|
(Type
|
||||||
|
(TypeVariableIdentifier)
|
||||||
|
(TypeParameters)
|
||||||
|
(Empty)))
|
||||||
|
(TypeParameters)
|
||||||
|
(Empty))))
|
||||||
|
(TypeSignature
|
||||||
|
(VariableIdentifier)
|
||||||
|
(ScopedTypeVariables
|
||||||
|
(Statements
|
||||||
|
(TypeVariableIdentifier)
|
||||||
|
(TypeVariableIdentifier)))
|
||||||
|
(FunctionType
|
||||||
|
(Type
|
||||||
|
(Tuple
|
||||||
|
(Type
|
||||||
|
(TypeVariableIdentifier)
|
||||||
|
(TypeParameters)
|
||||||
|
(Empty))
|
||||||
|
(Type
|
||||||
|
(TypeVariableIdentifier)
|
||||||
|
(TypeParameters)
|
||||||
|
(Empty)))
|
||||||
|
(TypeParameters)
|
||||||
|
(Empty))
|
||||||
|
(Type
|
||||||
|
(Array
|
||||||
|
(Type
|
||||||
|
(TypeVariableIdentifier)
|
||||||
|
(TypeParameters)
|
||||||
|
(Empty)))
|
||||||
|
(TypeParameters)
|
||||||
|
(Empty))))
|
||||||
|
(TypeSignature
|
||||||
|
(VariableIdentifier)
|
||||||
|
(FunctionType
|
||||||
|
(Type
|
||||||
|
(TypeVariableIdentifier)
|
||||||
|
(TypeParameters
|
||||||
|
(TypeVariableIdentifier))
|
||||||
|
(Empty))
|
||||||
|
(FunctionType
|
||||||
|
(Type
|
||||||
|
(Statements
|
||||||
|
(ScopedTypeVariables
|
||||||
|
(TypeVariableIdentifier))
|
||||||
|
(Context'
|
||||||
|
(Statements
|
||||||
|
(TypeVariableIdentifier)
|
||||||
|
(TypeVariableIdentifier)))
|
||||||
|
(FunctionType
|
||||||
|
(Type
|
||||||
|
(TypeVariableIdentifier)
|
||||||
|
(TypeParameters
|
||||||
|
(TypeVariableIdentifier))
|
||||||
|
(Empty))
|
||||||
|
(Type
|
||||||
|
(TypeVariableIdentifier)
|
||||||
|
(TypeParameters)
|
||||||
|
(Empty))))
|
||||||
|
(TypeParameters)
|
||||||
|
(Empty))
|
||||||
|
(FunctionType
|
||||||
|
(Type
|
||||||
|
(TypeConstructorIdentifier)
|
||||||
|
(TypeParameters
|
||||||
|
(TypeVariableIdentifier)
|
||||||
|
(TypeVariableIdentifier))
|
||||||
|
(Empty))
|
||||||
|
(Type
|
||||||
|
(TypeVariableIdentifier)
|
||||||
|
(TypeParameters)
|
||||||
|
(Empty))))))))
|
||||||
|
@ -3,99 +3,99 @@
|
|||||||
(Statements
|
(Statements
|
||||||
(TypeSynonym
|
(TypeSynonym
|
||||||
(Statements
|
(Statements
|
||||||
{ (Identifier)
|
{ (TypeConstructorIdentifier)
|
||||||
->(Identifier) })
|
->(TypeConstructorIdentifier) })
|
||||||
(TypePattern
|
(TypePattern
|
||||||
{ (Identifier)
|
{ (TypeConstructorIdentifier)
|
||||||
->(Identifier) }))
|
->(TypeConstructorIdentifier) }))
|
||||||
(TypeSynonym
|
(TypeSynonym
|
||||||
(Statements
|
(Statements
|
||||||
{ (Identifier)
|
{ (TypeConstructorIdentifier)
|
||||||
->(Identifier) })
|
->(TypeConstructorIdentifier) })
|
||||||
(TypePattern
|
(TypePattern
|
||||||
(ListConstructor)))
|
(ListConstructor)))
|
||||||
(TypeSynonym
|
(TypeSynonym
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
{+(Identifier)+})
|
{+(TypeVariableIdentifier)+})
|
||||||
(TypePattern
|
(TypePattern
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
{+(Identifier)+})))
|
{+(TypeVariableIdentifier)+})))
|
||||||
(TypeSynonym
|
(TypeSynonym
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(Identifier))
|
(TypeVariableIdentifier))
|
||||||
(TypePattern
|
(TypePattern
|
||||||
(Array
|
(Array
|
||||||
(Type
|
(Type
|
||||||
{ (Identifier)
|
{ (TypeConstructorIdentifier)
|
||||||
->(Identifier) }
|
->(TypeConstructorIdentifier) }
|
||||||
(TypeParameters
|
(TypeParameters
|
||||||
(Identifier))
|
(TypeVariableIdentifier))
|
||||||
(Empty)))))
|
(Empty)))))
|
||||||
(TypeSynonym
|
(TypeSynonym
|
||||||
(Statements
|
(Statements
|
||||||
{ (Identifier)
|
{ (TypeConstructorIdentifier)
|
||||||
->(Identifier) })
|
->(TypeConstructorIdentifier) })
|
||||||
(TypePattern
|
(TypePattern
|
||||||
(UnitConstructor)))
|
(UnitConstructor)))
|
||||||
{-(TypeSynonym
|
{-(TypeSynonym
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Identifier)-})-}
|
{-(TypeConstructorIdentifier)-})-}
|
||||||
{-(TypePattern
|
{-(TypePattern
|
||||||
{-(TupleConstructor)-})-})-}
|
{-(TupleConstructor)-})-})-}
|
||||||
(TypeSynonym
|
(TypeSynonym
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier))
|
(TypeConstructorIdentifier))
|
||||||
(TypePattern
|
(TypePattern
|
||||||
(TupleConstructor)))
|
(TupleConstructor)))
|
||||||
(TypeSynonym
|
|
||||||
(Statements
|
|
||||||
(Identifier))
|
|
||||||
(TypePattern
|
|
||||||
{ (FunctionConstructor)
|
|
||||||
->(TupleConstructor) }))
|
|
||||||
{+(TypeSynonym
|
{+(TypeSynonym
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Identifier)+})+}
|
{+(TypeConstructorIdentifier)+})+}
|
||||||
{+(TypePattern
|
{+(TypePattern
|
||||||
{+(FunctionConstructor)+})+})+}
|
{+(TupleConstructor)+})+})+}
|
||||||
(TypeSynonym
|
(TypeSynonym
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier))
|
{ (TypeConstructorIdentifier)
|
||||||
|
->(TypeConstructorIdentifier) })
|
||||||
|
(TypePattern
|
||||||
|
(FunctionConstructor)))
|
||||||
|
(TypeSynonym
|
||||||
|
(Statements
|
||||||
|
(TypeConstructorIdentifier))
|
||||||
(TypePattern
|
(TypePattern
|
||||||
(InfixOperatorPattern
|
(InfixOperatorPattern
|
||||||
(Type
|
(Type
|
||||||
{ (Identifier)
|
{ (TypeConstructorIdentifier)
|
||||||
->(Identifier) }
|
->(TypeConstructorIdentifier) }
|
||||||
(TypeParameters
|
(TypeParameters
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Identifier)+}
|
{+(TypeConstructorIdentifier)+}
|
||||||
{+(Identifier)+})+})
|
{+(TypeConstructorIdentifier)+})+})
|
||||||
(Empty))
|
(Empty))
|
||||||
(Identifier)
|
(TypeOperator)
|
||||||
(Type
|
(Type
|
||||||
(InfixOperatorPattern
|
(InfixOperatorPattern
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters
|
(TypeParameters
|
||||||
(Identifier))
|
(TypeConstructorIdentifier))
|
||||||
(Empty))
|
(Empty))
|
||||||
(Identifier)
|
(TypeOperator)
|
||||||
(Type
|
(Type
|
||||||
(InfixOperatorPattern
|
(InfixOperatorPattern
|
||||||
(Type
|
(Type
|
||||||
{ (Identifier)
|
{ (TypeConstructorIdentifier)
|
||||||
->(Identifier) }
|
->(TypeConstructorIdentifier) }
|
||||||
(TypeParameters
|
(TypeParameters
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Identifier)-}
|
{-(TypeConstructorIdentifier)-}
|
||||||
{-(Identifier)-})-})
|
{-(TypeConstructorIdentifier)-})-})
|
||||||
(Empty))
|
(Empty))
|
||||||
(Identifier)
|
(TypeOperator)
|
||||||
(Type
|
(Type
|
||||||
(QuotedName
|
(QuotedName
|
||||||
(ListConstructor))
|
(ListConstructor))
|
||||||
@ -107,84 +107,85 @@
|
|||||||
(Empty)))))
|
(Empty)))))
|
||||||
(TypeSynonym
|
(TypeSynonym
|
||||||
(Statements
|
(Statements
|
||||||
{ (Identifier)
|
{ (TypeConstructorIdentifier)
|
||||||
->(Identifier) }
|
->(TypeConstructorIdentifier) }
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(Identifier))
|
(TypeVariableIdentifier))
|
||||||
(TypePattern
|
(TypePattern
|
||||||
(QuotedName
|
(QuotedName
|
||||||
(Array
|
(Array
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty))
|
(Empty))
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters
|
(TypeParameters
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(Identifier)))
|
(TypeVariableIdentifier)))
|
||||||
(Empty))))))
|
(Empty))))))
|
||||||
(TypeSynonym
|
(TypeSynonym
|
||||||
(Statements
|
(Statements
|
||||||
{-(Identifier)-}
|
{-(TypeConstructorIdentifier)-}
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
{+(Identifier)+})
|
{+(TypeConstructorIdentifier)+})
|
||||||
(TextElement))
|
(TextElement))
|
||||||
(TypeSynonym
|
(TypeSynonym
|
||||||
(Statements
|
(Statements
|
||||||
{ (Identifier)
|
{ (TypeConstructorIdentifier)
|
||||||
->(Identifier) }
|
->(TypeConstructorIdentifier) }
|
||||||
(Statements
|
(Statements
|
||||||
{ (Identifier)
|
{ (TypeConstructorIdentifier)
|
||||||
->(Identifier) }
|
->(TypeConstructorIdentifier) }
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(Identifier)))
|
(TypeVariableIdentifier)))
|
||||||
(TypePattern
|
(TypePattern
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(Identifier))))
|
(TypeVariableIdentifier))))
|
||||||
(TypeSynonym
|
(TypeSynonym
|
||||||
(Statements
|
(Statements
|
||||||
{ (Identifier)
|
{ (TypeConstructorIdentifier)
|
||||||
->(Identifier) })
|
->(TypeConstructorIdentifier) })
|
||||||
(Context'
|
(Context'
|
||||||
(Identifier))
|
(Statements
|
||||||
|
(TypeConstructorIdentifier)))
|
||||||
(TypePattern
|
(TypePattern
|
||||||
(Statements
|
(Statements
|
||||||
{ (Identifier)
|
{ (TypeConstructorIdentifier)
|
||||||
->(Identifier) }
|
->(TypeConstructorIdentifier) }
|
||||||
(ListConstructor))))
|
(ListConstructor))))
|
||||||
(TypeSynonym
|
(TypeSynonym
|
||||||
(Statements
|
(Statements
|
||||||
{ (Identifier)
|
{ (TypeConstructorIdentifier)
|
||||||
->(Identifier) }
|
->(TypeConstructorIdentifier) }
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(Identifier))
|
(TypeVariableIdentifier))
|
||||||
(ScopedTypeVariables
|
(ScopedTypeVariables
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(Identifier)))
|
(TypeVariableIdentifier)))
|
||||||
(TypePattern
|
(TypePattern
|
||||||
(Statements
|
(Statements
|
||||||
{ (Identifier)
|
{ (TypeConstructorIdentifier)
|
||||||
->(Identifier) }
|
->(TypeConstructorIdentifier) }
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(Identifier))))
|
(TypeVariableIdentifier))))
|
||||||
(TypeSynonym
|
(TypeSynonym
|
||||||
(Statements
|
(Statements
|
||||||
(Statements
|
(Statements
|
||||||
{ (Identifier)
|
{ (TypeConstructorIdentifier)
|
||||||
->(Identifier) }
|
->(TypeConstructorIdentifier) }
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(Identifier)))
|
(TypeVariableIdentifier)))
|
||||||
(TypePattern
|
(TypePattern
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
{ (Identifier)
|
{ (TypeConstructorIdentifier)
|
||||||
->(Identifier) }
|
->(TypeConstructorIdentifier) }
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(Identifier)))))))
|
(TypeVariableIdentifier)))))))
|
||||||
|
@ -3,89 +3,88 @@
|
|||||||
(Statements
|
(Statements
|
||||||
(TypeSynonym
|
(TypeSynonym
|
||||||
(Statements
|
(Statements
|
||||||
{ (Identifier)
|
{ (TypeConstructorIdentifier)
|
||||||
->(Identifier) })
|
->(TypeConstructorIdentifier) })
|
||||||
(TypePattern
|
(TypePattern
|
||||||
{ (Identifier)
|
{ (TypeConstructorIdentifier)
|
||||||
->(Identifier) }))
|
->(TypeConstructorIdentifier) }))
|
||||||
(TypeSynonym
|
(TypeSynonym
|
||||||
(Statements
|
(Statements
|
||||||
{ (Identifier)
|
{ (TypeConstructorIdentifier)
|
||||||
->(Identifier) })
|
->(TypeConstructorIdentifier) })
|
||||||
(TypePattern
|
(TypePattern
|
||||||
(ListConstructor)))
|
(ListConstructor)))
|
||||||
(TypeSynonym
|
(TypeSynonym
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
{-(Identifier)-})
|
{-(TypeVariableIdentifier)-})
|
||||||
(TypePattern
|
(TypePattern
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
{-(Identifier)-})))
|
{-(TypeVariableIdentifier)-})))
|
||||||
(TypeSynonym
|
(TypeSynonym
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(Identifier))
|
(TypeVariableIdentifier))
|
||||||
(TypePattern
|
(TypePattern
|
||||||
(Array
|
(Array
|
||||||
(Type
|
(Type
|
||||||
{ (Identifier)
|
{ (TypeConstructorIdentifier)
|
||||||
->(Identifier) }
|
->(TypeConstructorIdentifier) }
|
||||||
(TypeParameters
|
(TypeParameters
|
||||||
(Identifier))
|
(TypeVariableIdentifier))
|
||||||
(Empty)))))
|
(Empty)))))
|
||||||
(TypeSynonym
|
(TypeSynonym
|
||||||
(Statements
|
(Statements
|
||||||
{ (Identifier)
|
{ (TypeConstructorIdentifier)
|
||||||
->(Identifier) })
|
->(TypeConstructorIdentifier) })
|
||||||
(TypePattern
|
(TypePattern
|
||||||
(UnitConstructor)))
|
(UnitConstructor)))
|
||||||
{+(TypeSynonym
|
{+(TypeSynonym
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Identifier)+})+}
|
{+(TypeConstructorIdentifier)+})+}
|
||||||
{+(TypePattern
|
{+(TypePattern
|
||||||
{+(TupleConstructor)+})+})+}
|
{+(TupleConstructor)+})+})+}
|
||||||
(TypeSynonym
|
(TypeSynonym
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier))
|
(TypeConstructorIdentifier))
|
||||||
(TypePattern
|
(TypePattern
|
||||||
(TupleConstructor)))
|
(TupleConstructor)))
|
||||||
(TypeSynonym
|
|
||||||
(Statements
|
|
||||||
(Identifier))
|
|
||||||
(TypePattern
|
|
||||||
{ (TupleConstructor)
|
|
||||||
->(FunctionConstructor) }))
|
|
||||||
{+(TypeSynonym
|
{+(TypeSynonym
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Identifier)+})+}
|
{+(TypeConstructorIdentifier)+})+}
|
||||||
|
{+(TypePattern
|
||||||
|
{+(FunctionConstructor)+})+})+}
|
||||||
|
{+(TypeSynonym
|
||||||
|
{+(Statements
|
||||||
|
{+(TypeConstructorIdentifier)+})+}
|
||||||
{+(TypePattern
|
{+(TypePattern
|
||||||
{+(InfixOperatorPattern
|
{+(InfixOperatorPattern
|
||||||
{+(Type
|
{+(Type
|
||||||
{+(Identifier)+}
|
{+(TypeConstructorIdentifier)+}
|
||||||
{+(TypeParameters)+}
|
{+(TypeParameters)+}
|
||||||
{+(Empty)+})+}
|
{+(Empty)+})+}
|
||||||
{+(Identifier)+}
|
{+(TypeOperator)+}
|
||||||
{+(Type
|
{+(Type
|
||||||
{+(InfixOperatorPattern
|
{+(InfixOperatorPattern
|
||||||
{+(Type
|
{+(Type
|
||||||
{+(Identifier)+}
|
{+(TypeConstructorIdentifier)+}
|
||||||
{+(TypeParameters
|
{+(TypeParameters
|
||||||
{+(Identifier)+})+}
|
{+(TypeConstructorIdentifier)+})+}
|
||||||
{+(Empty)+})+}
|
{+(Empty)+})+}
|
||||||
{+(Identifier)+}
|
{+(TypeOperator)+}
|
||||||
{+(Type
|
{+(Type
|
||||||
{+(InfixOperatorPattern
|
{+(InfixOperatorPattern
|
||||||
{+(Type
|
{+(Type
|
||||||
{+(Identifier)+}
|
{+(TypeConstructorIdentifier)+}
|
||||||
{+(TypeParameters
|
{+(TypeParameters
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Identifier)+}
|
{+(TypeConstructorIdentifier)+}
|
||||||
{+(Identifier)+})+})+}
|
{+(TypeConstructorIdentifier)+})+})+}
|
||||||
{+(Empty)+})+}
|
{+(Empty)+})+}
|
||||||
{+(Identifier)+}
|
{+(TypeOperator)+}
|
||||||
{+(Type
|
{+(Type
|
||||||
{+(QuotedName
|
{+(QuotedName
|
||||||
{+(ListConstructor)+})+}
|
{+(ListConstructor)+})+}
|
||||||
@ -97,108 +96,116 @@
|
|||||||
{+(Empty)+})+})+})+})+}
|
{+(Empty)+})+})+})+})+}
|
||||||
{+(TypeSynonym
|
{+(TypeSynonym
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Identifier)+}
|
{+(TypeConstructorIdentifier)+}
|
||||||
{+(Identifier)+}
|
{+(TypeVariableIdentifier)+}
|
||||||
{+(Identifier)+}
|
{+(TypeVariableIdentifier)+}
|
||||||
{+(Identifier)+})+}
|
{+(TypeVariableIdentifier)+})+}
|
||||||
{+(TypePattern
|
{+(TypePattern
|
||||||
{+(QuotedName
|
{+(QuotedName
|
||||||
{+(Array
|
{+(Array
|
||||||
{+(Type
|
{+(Type
|
||||||
{+(Identifier)+}
|
{+(TypeConstructorIdentifier)+}
|
||||||
{+(TypeParameters)+}
|
{+(TypeParameters)+}
|
||||||
{+(Empty)+})+}
|
{+(Empty)+})+}
|
||||||
{+(Type
|
{+(Type
|
||||||
{+(Identifier)+}
|
{+(TypeConstructorIdentifier)+}
|
||||||
{+(TypeParameters
|
{+(TypeParameters
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Identifier)+}
|
{+(TypeConstructorIdentifier)+}
|
||||||
{+(Identifier)+})+})+}
|
{+(TypeVariableIdentifier)+})+})+}
|
||||||
{+(Empty)+})+})+})+})+})+}
|
{+(Empty)+})+})+})+})+})+}
|
||||||
(TypeSynonym
|
|
||||||
(Statements
|
|
||||||
{ (Identifier)
|
|
||||||
->(Identifier) }
|
|
||||||
{+(Identifier)+})
|
|
||||||
{ (TypePattern
|
|
||||||
{-(FunctionConstructor)-})
|
|
||||||
->(TextElement) })
|
|
||||||
{+(TypeSynonym
|
{+(TypeSynonym
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Identifier)+}
|
{+(TypeConstructorIdentifier)+}
|
||||||
|
{+(TypeConstructorIdentifier)+})+}
|
||||||
|
{+(TextElement)+})+}
|
||||||
|
{+(TypeSynonym
|
||||||
|
{+(Statements
|
||||||
|
{+(TypeConstructorIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Identifier)+}
|
{+(TypeConstructorIdentifier)+}
|
||||||
{+(Identifier)+}
|
{+(TypeVariableIdentifier)+}
|
||||||
{+(Identifier)+})+})+}
|
{+(TypeVariableIdentifier)+})+})+}
|
||||||
{+(TypePattern
|
{+(TypePattern
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Identifier)+}
|
{+(TypeConstructorIdentifier)+}
|
||||||
{+(Identifier)+}
|
{+(TypeVariableIdentifier)+}
|
||||||
{+(Identifier)+})+})+})+}
|
{+(TypeVariableIdentifier)+})+})+})+}
|
||||||
{+(TypeSynonym
|
{+(TypeSynonym
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Identifier)+})+}
|
{+(TypeConstructorIdentifier)+})+}
|
||||||
{+(Context'
|
{+(Context'
|
||||||
{+(Identifier)+})+}
|
{+(Statements
|
||||||
|
{+(TypeConstructorIdentifier)+})+})+}
|
||||||
{+(TypePattern
|
{+(TypePattern
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Identifier)+}
|
{+(TypeConstructorIdentifier)+}
|
||||||
{+(ListConstructor)+})+})+})+}
|
{+(ListConstructor)+})+})+})+}
|
||||||
{+(TypeSynonym
|
{+(TypeSynonym
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Identifier)+}
|
{+(TypeConstructorIdentifier)+}
|
||||||
{+(Identifier)+}
|
{+(TypeVariableIdentifier)+}
|
||||||
{+(Identifier)+})+}
|
{+(TypeVariableIdentifier)+})+}
|
||||||
{+(ScopedTypeVariables
|
{+(ScopedTypeVariables
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Identifier)+}
|
{+(TypeVariableIdentifier)+}
|
||||||
{+(Identifier)+})+})+}
|
{+(TypeVariableIdentifier)+})+})+}
|
||||||
{+(TypePattern
|
{+(TypePattern
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Identifier)+}
|
{+(TypeConstructorIdentifier)+}
|
||||||
{+(Identifier)+}
|
{+(TypeVariableIdentifier)+}
|
||||||
{+(Identifier)+})+})+})+}
|
{+(TypeVariableIdentifier)+})+})+})+}
|
||||||
{+(TypeSynonym
|
{+(TypeSynonym
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Identifier)+}
|
{+(TypeConstructorIdentifier)+}
|
||||||
{+(Identifier)+}
|
{+(TypeVariableIdentifier)+}
|
||||||
{+(Identifier)+})+})+}
|
{+(TypeVariableIdentifier)+})+})+}
|
||||||
{+(TypePattern
|
{+(TypePattern
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Identifier)+}
|
{+(TypeConstructorIdentifier)+}
|
||||||
{+(Statements
|
{+(Statements
|
||||||
{+(Identifier)+}
|
{+(TypeConstructorIdentifier)+}
|
||||||
{+(Identifier)+}
|
{+(TypeVariableIdentifier)+}
|
||||||
{+(Identifier)+})+})+})+})+}
|
{+(TypeVariableIdentifier)+})+})+})+})+}
|
||||||
{-(TypeSynonym
|
{-(TypeSynonym
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Identifier)-})-}
|
{-(TypeConstructorIdentifier)-})-}
|
||||||
|
{-(TypePattern
|
||||||
|
{-(TupleConstructor)-})-})-}
|
||||||
|
{-(TypeSynonym
|
||||||
|
{-(Statements
|
||||||
|
{-(TypeConstructorIdentifier)-})-}
|
||||||
|
{-(TypePattern
|
||||||
|
{-(FunctionConstructor)-})-})-}
|
||||||
|
{-(TypeSynonym
|
||||||
|
{-(Statements
|
||||||
|
{-(TypeConstructorIdentifier)-})-}
|
||||||
{-(TypePattern
|
{-(TypePattern
|
||||||
{-(InfixOperatorPattern
|
{-(InfixOperatorPattern
|
||||||
{-(Type
|
{-(Type
|
||||||
{-(Identifier)-}
|
{-(TypeConstructorIdentifier)-}
|
||||||
{-(TypeParameters
|
{-(TypeParameters
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Identifier)-}
|
{-(TypeConstructorIdentifier)-}
|
||||||
{-(Identifier)-})-})-}
|
{-(TypeConstructorIdentifier)-})-})-}
|
||||||
{-(Empty)-})-}
|
{-(Empty)-})-}
|
||||||
{-(Identifier)-}
|
{-(TypeOperator)-}
|
||||||
{-(Type
|
{-(Type
|
||||||
{-(InfixOperatorPattern
|
{-(InfixOperatorPattern
|
||||||
{-(Type
|
{-(Type
|
||||||
{-(Identifier)-}
|
{-(TypeConstructorIdentifier)-}
|
||||||
{-(TypeParameters
|
{-(TypeParameters
|
||||||
{-(Identifier)-})-}
|
{-(TypeConstructorIdentifier)-})-}
|
||||||
{-(Empty)-})-}
|
{-(Empty)-})-}
|
||||||
{-(Identifier)-}
|
{-(TypeOperator)-}
|
||||||
{-(Type
|
{-(Type
|
||||||
{-(InfixOperatorPattern
|
{-(InfixOperatorPattern
|
||||||
{-(Type
|
{-(Type
|
||||||
{-(Identifier)-}
|
{-(TypeConstructorIdentifier)-}
|
||||||
{-(TypeParameters)-}
|
{-(TypeParameters)-}
|
||||||
{-(Empty)-})-}
|
{-(Empty)-})-}
|
||||||
{-(Identifier)-}
|
{-(TypeOperator)-}
|
||||||
{-(Type
|
{-(Type
|
||||||
{-(QuotedName
|
{-(QuotedName
|
||||||
{-(ListConstructor)-})-}
|
{-(ListConstructor)-})-}
|
||||||
@ -210,74 +217,75 @@
|
|||||||
{-(Empty)-})-})-})-})-}
|
{-(Empty)-})-})-})-})-}
|
||||||
{-(TypeSynonym
|
{-(TypeSynonym
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Identifier)-}
|
{-(TypeConstructorIdentifier)-}
|
||||||
{-(Identifier)-}
|
{-(TypeVariableIdentifier)-}
|
||||||
{-(Identifier)-}
|
{-(TypeVariableIdentifier)-}
|
||||||
{-(Identifier)-})-}
|
{-(TypeVariableIdentifier)-})-}
|
||||||
{-(TypePattern
|
{-(TypePattern
|
||||||
{-(QuotedName
|
{-(QuotedName
|
||||||
{-(Array
|
{-(Array
|
||||||
{-(Type
|
{-(Type
|
||||||
{-(Identifier)-}
|
{-(TypeConstructorIdentifier)-}
|
||||||
{-(TypeParameters)-}
|
{-(TypeParameters)-}
|
||||||
{-(Empty)-})-}
|
{-(Empty)-})-}
|
||||||
{-(Type
|
{-(Type
|
||||||
{-(Identifier)-}
|
{-(TypeConstructorIdentifier)-}
|
||||||
{-(TypeParameters
|
{-(TypeParameters
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Identifier)-}
|
{-(TypeConstructorIdentifier)-}
|
||||||
{-(Identifier)-})-})-}
|
{-(TypeVariableIdentifier)-})-})-}
|
||||||
{-(Empty)-})-})-})-})-})-}
|
{-(Empty)-})-})-})-})-})-}
|
||||||
{-(TypeSynonym
|
{-(TypeSynonym
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Identifier)-}
|
{-(TypeConstructorIdentifier)-}
|
||||||
{-(Identifier)-})-}
|
{-(TypeConstructorIdentifier)-})-}
|
||||||
{-(TextElement)-})-}
|
{-(TextElement)-})-}
|
||||||
{-(TypeSynonym
|
{-(TypeSynonym
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Identifier)-}
|
{-(TypeConstructorIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Identifier)-}
|
{-(TypeConstructorIdentifier)-}
|
||||||
{-(Identifier)-}
|
{-(TypeVariableIdentifier)-}
|
||||||
{-(Identifier)-})-})-}
|
{-(TypeVariableIdentifier)-})-})-}
|
||||||
{-(TypePattern
|
{-(TypePattern
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Identifier)-}
|
{-(TypeConstructorIdentifier)-}
|
||||||
{-(Identifier)-}
|
{-(TypeVariableIdentifier)-}
|
||||||
{-(Identifier)-})-})-})-}
|
{-(TypeVariableIdentifier)-})-})-})-}
|
||||||
{-(TypeSynonym
|
{-(TypeSynonym
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Identifier)-})-}
|
{-(TypeConstructorIdentifier)-})-}
|
||||||
{-(Context'
|
{-(Context'
|
||||||
{-(Identifier)-})-}
|
{-(Statements
|
||||||
|
{-(TypeConstructorIdentifier)-})-})-}
|
||||||
{-(TypePattern
|
{-(TypePattern
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Identifier)-}
|
{-(TypeConstructorIdentifier)-}
|
||||||
{-(ListConstructor)-})-})-})-}
|
{-(ListConstructor)-})-})-})-}
|
||||||
{-(TypeSynonym
|
{-(TypeSynonym
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Identifier)-}
|
{-(TypeConstructorIdentifier)-}
|
||||||
{-(Identifier)-}
|
{-(TypeVariableIdentifier)-}
|
||||||
{-(Identifier)-})-}
|
{-(TypeVariableIdentifier)-})-}
|
||||||
{-(ScopedTypeVariables
|
{-(ScopedTypeVariables
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Identifier)-}
|
{-(TypeVariableIdentifier)-}
|
||||||
{-(Identifier)-})-})-}
|
{-(TypeVariableIdentifier)-})-})-}
|
||||||
{-(TypePattern
|
{-(TypePattern
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Identifier)-}
|
{-(TypeConstructorIdentifier)-}
|
||||||
{-(Identifier)-}
|
{-(TypeVariableIdentifier)-}
|
||||||
{-(Identifier)-})-})-})-}
|
{-(TypeVariableIdentifier)-})-})-})-}
|
||||||
{-(TypeSynonym
|
{-(TypeSynonym
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Identifier)-}
|
{-(TypeConstructorIdentifier)-}
|
||||||
{-(Identifier)-}
|
{-(TypeVariableIdentifier)-}
|
||||||
{-(Identifier)-})-})-}
|
{-(TypeVariableIdentifier)-})-})-}
|
||||||
{-(TypePattern
|
{-(TypePattern
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Identifier)-}
|
{-(TypeConstructorIdentifier)-}
|
||||||
{-(Statements
|
{-(Statements
|
||||||
{-(Identifier)-}
|
{-(TypeConstructorIdentifier)-}
|
||||||
{-(Identifier)-}
|
{-(TypeVariableIdentifier)-}
|
||||||
{-(Identifier)-})-})-})-})-}))
|
{-(TypeVariableIdentifier)-})-})-})-})-}))
|
||||||
|
@ -3,81 +3,81 @@
|
|||||||
(Statements
|
(Statements
|
||||||
(TypeSynonym
|
(TypeSynonym
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier))
|
(TypeConstructorIdentifier))
|
||||||
(TypePattern
|
(TypePattern
|
||||||
(Identifier)))
|
(TypeConstructorIdentifier)))
|
||||||
(TypeSynonym
|
(TypeSynonym
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier))
|
(TypeConstructorIdentifier))
|
||||||
(TypePattern
|
(TypePattern
|
||||||
(ListConstructor)))
|
(ListConstructor)))
|
||||||
(TypeSynonym
|
(TypeSynonym
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(Identifier))
|
(TypeVariableIdentifier))
|
||||||
(TypePattern
|
(TypePattern
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(Identifier))))
|
(TypeVariableIdentifier))))
|
||||||
(TypeSynonym
|
(TypeSynonym
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(Identifier))
|
(TypeVariableIdentifier))
|
||||||
(TypePattern
|
(TypePattern
|
||||||
(Array
|
(Array
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters
|
(TypeParameters
|
||||||
(Identifier))
|
(TypeVariableIdentifier))
|
||||||
(Empty)))))
|
(Empty)))))
|
||||||
(TypeSynonym
|
(TypeSynonym
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier))
|
(TypeConstructorIdentifier))
|
||||||
(TypePattern
|
(TypePattern
|
||||||
(UnitConstructor)))
|
(UnitConstructor)))
|
||||||
(TypeSynonym
|
(TypeSynonym
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier))
|
(TypeConstructorIdentifier))
|
||||||
(TypePattern
|
(TypePattern
|
||||||
(TupleConstructor)))
|
(TupleConstructor)))
|
||||||
(TypeSynonym
|
(TypeSynonym
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier))
|
(TypeConstructorIdentifier))
|
||||||
(TypePattern
|
(TypePattern
|
||||||
(TupleConstructor)))
|
(TupleConstructor)))
|
||||||
(TypeSynonym
|
(TypeSynonym
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier))
|
(TypeConstructorIdentifier))
|
||||||
(TypePattern
|
(TypePattern
|
||||||
(FunctionConstructor)))
|
(FunctionConstructor)))
|
||||||
(TypeSynonym
|
(TypeSynonym
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier))
|
(TypeConstructorIdentifier))
|
||||||
(TypePattern
|
(TypePattern
|
||||||
(InfixOperatorPattern
|
(InfixOperatorPattern
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty))
|
(Empty))
|
||||||
(Identifier)
|
(TypeOperator)
|
||||||
(Type
|
(Type
|
||||||
(InfixOperatorPattern
|
(InfixOperatorPattern
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters
|
(TypeParameters
|
||||||
(Identifier))
|
(TypeConstructorIdentifier))
|
||||||
(Empty))
|
(Empty))
|
||||||
(Identifier)
|
(TypeOperator)
|
||||||
(Type
|
(Type
|
||||||
(InfixOperatorPattern
|
(InfixOperatorPattern
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters
|
(TypeParameters
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(Identifier)))
|
(TypeConstructorIdentifier)))
|
||||||
(Empty))
|
(Empty))
|
||||||
(Identifier)
|
(TypeOperator)
|
||||||
(Type
|
(Type
|
||||||
(QuotedName
|
(QuotedName
|
||||||
(ListConstructor))
|
(ListConstructor))
|
||||||
@ -89,74 +89,75 @@
|
|||||||
(Empty)))))
|
(Empty)))))
|
||||||
(TypeSynonym
|
(TypeSynonym
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(Identifier))
|
(TypeVariableIdentifier))
|
||||||
(TypePattern
|
(TypePattern
|
||||||
(QuotedName
|
(QuotedName
|
||||||
(Array
|
(Array
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty))
|
(Empty))
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters
|
(TypeParameters
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(Identifier)))
|
(TypeVariableIdentifier)))
|
||||||
(Empty))))))
|
(Empty))))))
|
||||||
(TypeSynonym
|
(TypeSynonym
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(Identifier))
|
(TypeConstructorIdentifier))
|
||||||
(TextElement))
|
(TextElement))
|
||||||
(TypeSynonym
|
(TypeSynonym
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(Identifier)))
|
(TypeVariableIdentifier)))
|
||||||
(TypePattern
|
(TypePattern
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(Identifier))))
|
(TypeVariableIdentifier))))
|
||||||
(TypeSynonym
|
(TypeSynonym
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier))
|
(TypeConstructorIdentifier))
|
||||||
(Context'
|
(Context'
|
||||||
(Identifier))
|
(Statements
|
||||||
|
(TypeConstructorIdentifier)))
|
||||||
(TypePattern
|
(TypePattern
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(ListConstructor))))
|
(ListConstructor))))
|
||||||
(TypeSynonym
|
(TypeSynonym
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(Identifier))
|
(TypeVariableIdentifier))
|
||||||
(ScopedTypeVariables
|
(ScopedTypeVariables
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(Identifier)))
|
(TypeVariableIdentifier)))
|
||||||
(TypePattern
|
(TypePattern
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(Identifier))))
|
(TypeVariableIdentifier))))
|
||||||
(TypeSynonym
|
(TypeSynonym
|
||||||
(Statements
|
(Statements
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(Identifier)))
|
(TypeVariableIdentifier)))
|
||||||
(TypePattern
|
(TypePattern
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(Identifier)))))))
|
(TypeVariableIdentifier)))))))
|
||||||
|
@ -3,83 +3,83 @@
|
|||||||
(Statements
|
(Statements
|
||||||
(TypeSynonym
|
(TypeSynonym
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier))
|
(TypeConstructorIdentifier))
|
||||||
(TypePattern
|
(TypePattern
|
||||||
(Identifier)))
|
(TypeConstructorIdentifier)))
|
||||||
(TypeSynonym
|
(TypeSynonym
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier))
|
(TypeConstructorIdentifier))
|
||||||
(TypePattern
|
(TypePattern
|
||||||
(ListConstructor)))
|
(ListConstructor)))
|
||||||
(TypeSynonym
|
(TypeSynonym
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(Identifier))
|
(TypeVariableIdentifier))
|
||||||
(TypePattern
|
(TypePattern
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(Identifier))))
|
(TypeVariableIdentifier))))
|
||||||
(TypeSynonym
|
(TypeSynonym
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(Identifier))
|
(TypeVariableIdentifier))
|
||||||
(TypePattern
|
(TypePattern
|
||||||
(Array
|
(Array
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters
|
(TypeParameters
|
||||||
(Identifier))
|
(TypeVariableIdentifier))
|
||||||
(Empty)))))
|
(Empty)))))
|
||||||
(TypeSynonym
|
(TypeSynonym
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier))
|
(TypeConstructorIdentifier))
|
||||||
(TypePattern
|
(TypePattern
|
||||||
(UnitConstructor)))
|
(UnitConstructor)))
|
||||||
(TypeSynonym
|
(TypeSynonym
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier))
|
(TypeConstructorIdentifier))
|
||||||
(TypePattern
|
(TypePattern
|
||||||
(TupleConstructor)))
|
(TupleConstructor)))
|
||||||
(TypeSynonym
|
(TypeSynonym
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier))
|
(TypeConstructorIdentifier))
|
||||||
(TypePattern
|
(TypePattern
|
||||||
(TupleConstructor)))
|
(TupleConstructor)))
|
||||||
(TypeSynonym
|
(TypeSynonym
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier))
|
(TypeConstructorIdentifier))
|
||||||
(TypePattern
|
(TypePattern
|
||||||
(FunctionConstructor)))
|
(FunctionConstructor)))
|
||||||
(TypeSynonym
|
(TypeSynonym
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier))
|
(TypeConstructorIdentifier))
|
||||||
(TypePattern
|
(TypePattern
|
||||||
(InfixOperatorPattern
|
(InfixOperatorPattern
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters
|
(TypeParameters
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(Identifier)))
|
(TypeConstructorIdentifier)))
|
||||||
(Empty))
|
(Empty))
|
||||||
(Identifier)
|
(TypeOperator)
|
||||||
(Type
|
(Type
|
||||||
(InfixOperatorPattern
|
(InfixOperatorPattern
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters
|
(TypeParameters
|
||||||
(Identifier))
|
(TypeConstructorIdentifier))
|
||||||
(Empty))
|
(Empty))
|
||||||
(Identifier)
|
(TypeOperator)
|
||||||
(Type
|
(Type
|
||||||
(InfixOperatorPattern
|
(InfixOperatorPattern
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty))
|
(Empty))
|
||||||
(Identifier)
|
(TypeOperator)
|
||||||
(Type
|
(Type
|
||||||
(QuotedName
|
(QuotedName
|
||||||
(ListConstructor))
|
(ListConstructor))
|
||||||
@ -91,74 +91,75 @@
|
|||||||
(Empty)))))
|
(Empty)))))
|
||||||
(TypeSynonym
|
(TypeSynonym
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(Identifier))
|
(TypeVariableIdentifier))
|
||||||
(TypePattern
|
(TypePattern
|
||||||
(QuotedName
|
(QuotedName
|
||||||
(Array
|
(Array
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters)
|
(TypeParameters)
|
||||||
(Empty))
|
(Empty))
|
||||||
(Type
|
(Type
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(TypeParameters
|
(TypeParameters
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(Identifier)))
|
(TypeVariableIdentifier)))
|
||||||
(Empty))))))
|
(Empty))))))
|
||||||
(TypeSynonym
|
(TypeSynonym
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(Identifier))
|
(TypeConstructorIdentifier))
|
||||||
(TextElement))
|
(TextElement))
|
||||||
(TypeSynonym
|
(TypeSynonym
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(Identifier)))
|
(TypeVariableIdentifier)))
|
||||||
(TypePattern
|
(TypePattern
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(Identifier))))
|
(TypeVariableIdentifier))))
|
||||||
(TypeSynonym
|
(TypeSynonym
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier))
|
(TypeConstructorIdentifier))
|
||||||
(Context'
|
(Context'
|
||||||
(Identifier))
|
(Statements
|
||||||
|
(TypeConstructorIdentifier)))
|
||||||
(TypePattern
|
(TypePattern
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(ListConstructor))))
|
(ListConstructor))))
|
||||||
(TypeSynonym
|
(TypeSynonym
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(Identifier))
|
(TypeVariableIdentifier))
|
||||||
(ScopedTypeVariables
|
(ScopedTypeVariables
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(Identifier)))
|
(TypeVariableIdentifier)))
|
||||||
(TypePattern
|
(TypePattern
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(Identifier))))
|
(TypeVariableIdentifier))))
|
||||||
(TypeSynonym
|
(TypeSynonym
|
||||||
(Statements
|
(Statements
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(Identifier)))
|
(TypeVariableIdentifier)))
|
||||||
(TypePattern
|
(TypePattern
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(Statements
|
(Statements
|
||||||
(Identifier)
|
(TypeConstructorIdentifier)
|
||||||
(Identifier)
|
(TypeVariableIdentifier)
|
||||||
(Identifier)))))))
|
(TypeVariableIdentifier)))))))
|
||||||
|
2
vendor/haskell-tree-sitter
vendored
2
vendor/haskell-tree-sitter
vendored
@ -1 +1 @@
|
|||||||
Subproject commit c6c149b369cfcda70ecec5d52014ea754ee25fce
|
Subproject commit d21ac9e3c2730cf785ecee31b3c152cfff559dd2
|
Loading…
Reference in New Issue
Block a user