mirror of
https://github.com/github/semantic.git
synced 2024-11-24 00:42:33 +03:00
Merge remote-tracking branch 'origin/master' into import-graph-mk2
This commit is contained in:
commit
511d412e10
@ -21,7 +21,6 @@ import Data.JSON.Fields
|
|||||||
import Data.Language
|
import Data.Language
|
||||||
import Data.Source as Source
|
import Data.Source as Source
|
||||||
|
|
||||||
|
|
||||||
-- | The source, path, and language of a blob.
|
-- | The source, path, and language of a blob.
|
||||||
data Blob = Blob
|
data Blob = Blob
|
||||||
{ blobSource :: Source -- ^ The UTF-8 encoded source text of the blob.
|
{ blobSource :: Source -- ^ The UTF-8 encoded source text of the blob.
|
||||||
@ -30,16 +29,36 @@ data Blob = Blob
|
|||||||
}
|
}
|
||||||
deriving (Show, Eq, Generic, Message, Named)
|
deriving (Show, Eq, Generic, Message, Named)
|
||||||
|
|
||||||
|
instance FromJSON Blob where
|
||||||
|
parseJSON = withObject "Blob" $ \b -> inferringLanguage
|
||||||
|
<$> b .: "content"
|
||||||
|
<*> b .: "path"
|
||||||
|
<*> b .: "language"
|
||||||
|
|
||||||
nullBlob :: Blob -> Bool
|
nullBlob :: Blob -> Bool
|
||||||
nullBlob Blob{..} = nullSource blobSource
|
nullBlob Blob{..} = nullSource blobSource
|
||||||
|
|
||||||
sourceBlob :: FilePath -> Language -> Source -> Blob
|
sourceBlob :: FilePath -> Language -> Source -> Blob
|
||||||
sourceBlob filepath language source = Blob source filepath language
|
sourceBlob filepath language source = Blob source filepath language
|
||||||
|
|
||||||
|
inferringLanguage :: Source -> FilePath -> Language -> Blob
|
||||||
|
inferringLanguage src pth lang
|
||||||
|
| knownLanguage lang = Blob src pth lang
|
||||||
|
| otherwise = Blob src pth (languageForFilePath pth)
|
||||||
|
|
||||||
-- | Represents a blobs suitable for diffing which can be either a blob to
|
-- | Represents a blobs suitable for diffing which can be either a blob to
|
||||||
-- delete, a blob to insert, or a pair of blobs to diff.
|
-- delete, a blob to insert, or a pair of blobs to diff.
|
||||||
type BlobPair = Join These Blob
|
type BlobPair = Join These Blob
|
||||||
|
|
||||||
|
instance FromJSON BlobPair where
|
||||||
|
parseJSON = withObject "BlobPair" $ \o -> do
|
||||||
|
before <- o .:? "before"
|
||||||
|
after <- o .:? "after"
|
||||||
|
case (before, after) of
|
||||||
|
(Just b, Just a) -> pure $ Join (These b a)
|
||||||
|
(Just b, Nothing) -> pure $ Join (This b)
|
||||||
|
(Nothing, Just a) -> pure $ Join (That a)
|
||||||
|
_ -> Prelude.fail "Expected object with 'before' and/or 'after' keys only"
|
||||||
|
|
||||||
blobPairDiffing :: Blob -> Blob -> BlobPair
|
blobPairDiffing :: Blob -> Blob -> BlobPair
|
||||||
blobPairDiffing a b = Join (These a b)
|
blobPairDiffing a b = Join (These a b)
|
||||||
|
@ -1,9 +1,11 @@
|
|||||||
{-# LANGUAGE DeriveAnyClass, DeriveGeneric, LambdaCase #-}
|
{-# LANGUAGE DeriveAnyClass, DeriveGeneric, LambdaCase #-}
|
||||||
module Data.Language where
|
module Data.Language where
|
||||||
|
|
||||||
import Data.Aeson
|
import Data.Aeson
|
||||||
import Prologue
|
import qualified Data.Text as T
|
||||||
import Proto3.Suite
|
import Prologue
|
||||||
|
import Proto3.Suite
|
||||||
|
import System.FilePath.Posix
|
||||||
|
|
||||||
-- | The various languages we support.
|
-- | The various languages we support.
|
||||||
-- Please do not reorder any of the field names: the current implementation of 'Primitive'
|
-- Please do not reorder any of the field names: the current implementation of 'Primitive'
|
||||||
@ -23,6 +25,21 @@ data Language
|
|||||||
| PHP
|
| PHP
|
||||||
deriving (Eq, Generic, Ord, Read, Show, Bounded, Hashable, ToJSON, Named, Enum, Finite, MessageField)
|
deriving (Eq, Generic, Ord, Read, Show, Bounded, Hashable, ToJSON, Named, Enum, Finite, MessageField)
|
||||||
|
|
||||||
|
instance FromJSON Language where
|
||||||
|
parseJSON = withText "Language" $ \l -> pure $ case T.toLower l of
|
||||||
|
"go" -> Go
|
||||||
|
"haskell" -> Haskell
|
||||||
|
"java" -> Java
|
||||||
|
"javascript" -> JavaScript
|
||||||
|
"json" -> JSON
|
||||||
|
"jsx" -> JSX
|
||||||
|
"markdown" -> Markdown
|
||||||
|
"python" -> Python
|
||||||
|
"ruby" -> Ruby
|
||||||
|
"typescript" -> TypeScript
|
||||||
|
"php" -> PHP
|
||||||
|
_ -> Unknown
|
||||||
|
|
||||||
-- | Predicate failing on 'Unknown' and passing in all other cases.
|
-- | Predicate failing on 'Unknown' and passing in all other cases.
|
||||||
knownLanguage :: Language -> Bool
|
knownLanguage :: Language -> Bool
|
||||||
knownLanguage = (/= Unknown)
|
knownLanguage = (/= Unknown)
|
||||||
@ -72,3 +89,7 @@ extensionsForLanguage language = case language of
|
|||||||
Ruby -> [".rb"]
|
Ruby -> [".rb"]
|
||||||
TypeScript -> [".ts", ".tsx", ".d.tsx"]
|
TypeScript -> [".ts", ".tsx", ".d.tsx"]
|
||||||
_ -> []
|
_ -> []
|
||||||
|
|
||||||
|
-- | Return a language based on a FilePath's extension, or Nothing if extension is not found or not supported.
|
||||||
|
languageForFilePath :: FilePath -> Language
|
||||||
|
languageForFilePath = languageForType . takeExtension
|
||||||
|
@ -28,6 +28,7 @@ module Data.Source
|
|||||||
|
|
||||||
import Prologue
|
import Prologue
|
||||||
import Data.Array
|
import Data.Array
|
||||||
|
import Data.Aeson (FromJSON (..), withText)
|
||||||
import qualified Data.ByteString as B
|
import qualified Data.ByteString as B
|
||||||
import Data.Char (ord)
|
import Data.Char (ord)
|
||||||
import Data.List (span)
|
import Data.List (span)
|
||||||
@ -47,6 +48,8 @@ newtype Source = Source { sourceBytes :: B.ByteString }
|
|||||||
fromUTF8 :: B.ByteString -> Source
|
fromUTF8 :: B.ByteString -> Source
|
||||||
fromUTF8 = Source
|
fromUTF8 = Source
|
||||||
|
|
||||||
|
instance FromJSON Source where
|
||||||
|
parseJSON = withText "Source" (pure . fromText)
|
||||||
|
|
||||||
-- Measurement
|
-- Measurement
|
||||||
|
|
||||||
|
@ -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
|
||||||
|
@ -42,7 +42,7 @@ import Control.Monad.Effect.State
|
|||||||
import Control.Monad.Effect.Exception
|
import Control.Monad.Effect.Exception
|
||||||
import Control.Monad.IO.Class
|
import Control.Monad.IO.Class
|
||||||
import Data.Aeson
|
import Data.Aeson
|
||||||
import qualified Data.Blob as Blob
|
import Data.Blob
|
||||||
import Data.Bool
|
import Data.Bool
|
||||||
import qualified Data.Project as Project
|
import qualified Data.Project as Project
|
||||||
import Data.Project (File (..), ProjectException (..))
|
import Data.Project (File (..), ProjectException (..))
|
||||||
@ -50,7 +50,7 @@ import qualified Data.ByteString as B
|
|||||||
import qualified Data.ByteString.Builder as B
|
import qualified Data.ByteString.Builder as B
|
||||||
import qualified Data.ByteString.Lazy as BL
|
import qualified Data.ByteString.Lazy as BL
|
||||||
import Data.Language
|
import Data.Language
|
||||||
import Data.Source (fromUTF8, fromText)
|
import Data.Source (fromUTF8)
|
||||||
import Prelude hiding (readFile)
|
import Prelude hiding (readFile)
|
||||||
import Prologue hiding (MonadError (..), fail)
|
import Prologue hiding (MonadError (..), fail)
|
||||||
import System.Directory (doesDirectoryExist)
|
import System.Directory (doesDirectoryExist)
|
||||||
@ -60,16 +60,15 @@ import System.Exit
|
|||||||
import System.FilePath
|
import System.FilePath
|
||||||
import System.FilePath.Glob
|
import System.FilePath.Glob
|
||||||
import qualified System.IO as IO
|
import qualified System.IO as IO
|
||||||
import Text.Read hiding (get)
|
|
||||||
|
|
||||||
-- | Read a utf8-encoded file to a 'Blob'.
|
-- | Read a utf8-encoded file to a 'Blob'.
|
||||||
readFile :: forall m. MonadIO m => File -> m (Maybe Blob.Blob)
|
readFile :: forall m. MonadIO m => File -> m (Maybe Blob)
|
||||||
readFile (File "/dev/null" _) = pure Nothing
|
readFile (File "/dev/null" _) = pure Nothing
|
||||||
readFile (File path language) = do
|
readFile (File path language) = do
|
||||||
raw <- liftIO (Just <$> B.readFile path)
|
raw <- liftIO $ B.readFile path
|
||||||
pure $ Blob.sourceBlob path language . fromUTF8 <$> raw
|
pure . Just . sourceBlob path language . fromUTF8 $ raw
|
||||||
|
|
||||||
readFilePair :: forall m. MonadIO m => File -> File -> m Blob.BlobPair
|
readFilePair :: forall m. MonadIO m => File -> File -> m BlobPair
|
||||||
readFilePair a b = Join <$> join (maybeThese <$> readFile a <*> readFile b)
|
readFilePair a b = Join <$> join (maybeThese <$> readFile a <*> readFile b)
|
||||||
|
|
||||||
maybeThese :: Monad m => Maybe a -> Maybe b -> m (These a b)
|
maybeThese :: Monad m => Maybe a -> Maybe b -> m (These a b)
|
||||||
@ -79,35 +78,27 @@ maybeThese a b = case (a, b) of
|
|||||||
(Just a, Just b) -> pure (These a b)
|
(Just a, Just b) -> pure (These a b)
|
||||||
_ -> fail "expected file pair with content on at least one side"
|
_ -> fail "expected file pair with content on at least one side"
|
||||||
|
|
||||||
|
newtype Blobs a = Blobs { blobs :: [a] }
|
||||||
|
deriving (Generic, FromJSON)
|
||||||
|
|
||||||
isDirectory :: MonadIO m => FilePath -> m Bool
|
isDirectory :: MonadIO m => FilePath -> m Bool
|
||||||
isDirectory path = liftIO (doesDirectoryExist path)
|
isDirectory path = liftIO (doesDirectoryExist path)
|
||||||
|
|
||||||
-- | Return a language based on a FilePath's extension, or Nothing if extension is not found or not supported.
|
decodeBlobPairs :: BL.ByteString -> Either String [BlobPair]
|
||||||
languageForFilePath :: FilePath -> Language
|
decodeBlobPairs = fmap blobs <$> eitherDecode
|
||||||
languageForFilePath = languageForType . takeExtension
|
|
||||||
|
|
||||||
decodeBlobPairs :: BL.ByteString -> Either String [Blob.BlobPair]
|
|
||||||
decodeBlobPairs = fmap toBlobPairs . eitherDecode
|
|
||||||
|
|
||||||
-- | Read JSON encoded blob pairs from a handle.
|
-- | Read JSON encoded blob pairs from a handle.
|
||||||
readBlobPairsFromHandle :: MonadIO m => Handle 'IO.ReadMode -> m [Blob.BlobPair]
|
readBlobPairsFromHandle :: MonadIO m => Handle 'IO.ReadMode -> m [BlobPair]
|
||||||
readBlobPairsFromHandle = fmap toBlobPairs . readFromHandle
|
readBlobPairsFromHandle = fmap blobs <$> readFromHandle
|
||||||
|
|
||||||
toBlobPairs :: BlobDiff -> [Blob.BlobPair]
|
decodeBlobs :: BL.ByteString -> Either String [Blob]
|
||||||
toBlobPairs BlobDiff{..} = toBlobPair <$> blobs
|
decodeBlobs = fmap blobs <$> eitherDecode
|
||||||
where toBlobPair blobs = toBlob <$> blobs
|
|
||||||
|
|
||||||
decodeBlobs :: BL.ByteString -> Either String [Blob.Blob]
|
|
||||||
decodeBlobs = fmap toBlobs . eitherDecode
|
|
||||||
|
|
||||||
-- | Read JSON encoded blobs from a handle.
|
-- | Read JSON encoded blobs from a handle.
|
||||||
readBlobsFromHandle :: MonadIO m => Handle 'IO.ReadMode -> m [Blob.Blob]
|
readBlobsFromHandle :: MonadIO m => Handle 'IO.ReadMode -> m [Blob]
|
||||||
readBlobsFromHandle = fmap toBlobs . readFromHandle
|
readBlobsFromHandle = fmap blobs <$> readFromHandle
|
||||||
|
|
||||||
toBlobs :: BlobParse -> [Blob.Blob]
|
readBlobFromPath :: MonadIO m => File -> m Blob
|
||||||
toBlobs BlobParse{..} = fmap toBlob blobs
|
|
||||||
|
|
||||||
readBlobFromPath :: MonadIO m => File -> m Blob.Blob
|
|
||||||
readBlobFromPath file = do
|
readBlobFromPath file = do
|
||||||
maybeFile <- readFile file
|
maybeFile <- readFile file
|
||||||
maybeM (fail ("cannot read '" <> show file <> "', file not found or language not supported.")) maybeFile
|
maybeM (fail ("cannot read '" <> show file <> "', file not found or language not supported.")) maybeFile
|
||||||
@ -154,7 +145,7 @@ findFilesInDir path exts excludeDirs = do
|
|||||||
| otherwise = True
|
| otherwise = True
|
||||||
notIn _ _ = True
|
notIn _ _ = True
|
||||||
|
|
||||||
readBlobsFromDir :: MonadIO m => FilePath -> m [Blob.Blob]
|
readBlobsFromDir :: MonadIO m => FilePath -> m [Blob]
|
||||||
readBlobsFromDir path = do
|
readBlobsFromDir path = do
|
||||||
paths <- liftIO (globDir1 (compile "[^vendor]**/*[.rb|.js|.tsx|.go|.py]") path)
|
paths <- liftIO (globDir1 (compile "[^vendor]**/*[.rb|.js|.tsx|.go|.py]") path)
|
||||||
let paths' = fmap (\p -> File p (languageForFilePath p)) paths
|
let paths' = fmap (\p -> File p (languageForFilePath p)) paths
|
||||||
@ -168,38 +159,6 @@ readFromHandle (ReadHandle h) = do
|
|||||||
Left e -> liftIO (die (e <> ". Invalid input on " <> show h <> ", expecting JSON"))
|
Left e -> liftIO (die (e <> ". Invalid input on " <> show h <> ", expecting JSON"))
|
||||||
Right d -> pure d
|
Right d -> pure d
|
||||||
|
|
||||||
toBlob :: Blob -> Blob.Blob
|
|
||||||
toBlob Blob{..} = Blob.sourceBlob path language' (fromText content)
|
|
||||||
where language' = case language of
|
|
||||||
"" -> languageForFilePath path
|
|
||||||
_ -> fromMaybe Unknown (readMaybe language)
|
|
||||||
|
|
||||||
|
|
||||||
newtype BlobDiff = BlobDiff { blobs :: [BlobPair] }
|
|
||||||
deriving (Show, Generic, FromJSON)
|
|
||||||
|
|
||||||
newtype BlobParse = BlobParse { blobs :: [Blob] }
|
|
||||||
deriving (Show, Generic, FromJSON)
|
|
||||||
|
|
||||||
type BlobPair = Join These Blob
|
|
||||||
|
|
||||||
data Blob = Blob
|
|
||||||
{ path :: FilePath
|
|
||||||
, content :: Text
|
|
||||||
, language :: String
|
|
||||||
}
|
|
||||||
deriving (Show, Generic, FromJSON)
|
|
||||||
|
|
||||||
instance FromJSON BlobPair where
|
|
||||||
parseJSON = withObject "BlobPair" $ \o -> do
|
|
||||||
before <- o .:? "before"
|
|
||||||
after <- o .:? "after"
|
|
||||||
case (before, after) of
|
|
||||||
(Just b, Just a) -> pure $ Join (These b a)
|
|
||||||
(Just b, Nothing) -> pure $ Join (This b)
|
|
||||||
(Nothing, Just a) -> pure $ Join (That a)
|
|
||||||
_ -> fail "Expected object with 'before' and/or 'after' keys only"
|
|
||||||
|
|
||||||
|
|
||||||
-- | An exception indicating that we’ve tried to diff or parse a blob of unknown language.
|
-- | An exception indicating that we’ve tried to diff or parse a blob of unknown language.
|
||||||
newtype NoLanguageForBlob = NoLanguageForBlob FilePath
|
newtype NoLanguageForBlob = NoLanguageForBlob FilePath
|
||||||
@ -209,16 +168,16 @@ noLanguageForBlob :: Member (Exc SomeException) effs => FilePath -> Eff effs a
|
|||||||
noLanguageForBlob blobPath = throwError (SomeException (NoLanguageForBlob blobPath))
|
noLanguageForBlob blobPath = throwError (SomeException (NoLanguageForBlob blobPath))
|
||||||
|
|
||||||
|
|
||||||
readBlob :: Member Files effs => File -> Eff effs Blob.Blob
|
readBlob :: Member Files effs => File -> Eff effs Blob
|
||||||
readBlob = send . Read . FromPath
|
readBlob = send . Read . FromPath
|
||||||
|
|
||||||
-- | A task which reads a list of 'Blob's from a 'Handle' or a list of 'FilePath's optionally paired with 'Language's.
|
-- | A task which reads a list of 'Blob's from a 'Handle' or a list of 'FilePath's optionally paired with 'Language's.
|
||||||
readBlobs :: Member Files effs => Either (Handle 'IO.ReadMode) [File] -> Eff effs [Blob.Blob]
|
readBlobs :: Member Files effs => Either (Handle 'IO.ReadMode) [File] -> Eff effs [Blob]
|
||||||
readBlobs (Left handle) = send (Read (FromHandle handle))
|
readBlobs (Left handle) = send (Read (FromHandle handle))
|
||||||
readBlobs (Right paths) = traverse (send . Read . FromPath) paths
|
readBlobs (Right paths) = traverse (send . Read . FromPath) paths
|
||||||
|
|
||||||
-- | A task which reads a list of pairs of 'Blob's from a 'Handle' or a list of pairs of 'FilePath's optionally paired with 'Language's.
|
-- | A task which reads a list of pairs of 'Blob's from a 'Handle' or a list of pairs of 'FilePath's optionally paired with 'Language's.
|
||||||
readBlobPairs :: Member Files effs => Either (Handle 'IO.ReadMode) [Both File] -> Eff effs [Blob.BlobPair]
|
readBlobPairs :: Member Files effs => Either (Handle 'IO.ReadMode) [Both File] -> Eff effs [BlobPair]
|
||||||
readBlobPairs (Left handle) = send (Read (FromPairHandle handle))
|
readBlobPairs (Left handle) = send (Read (FromPairHandle handle))
|
||||||
readBlobPairs (Right paths) = traverse (send . Read . FromPathPair) paths
|
readBlobPairs (Right paths) = traverse (send . Read . FromPathPair) paths
|
||||||
|
|
||||||
@ -256,14 +215,14 @@ openFileForReading :: FilePath -> IO (Handle 'IO.ReadMode)
|
|||||||
openFileForReading path = ReadHandle <$> IO.openFile path IO.ReadMode
|
openFileForReading path = ReadHandle <$> IO.openFile path IO.ReadMode
|
||||||
|
|
||||||
data Source blob where
|
data Source blob where
|
||||||
FromPath :: File -> Source Blob.Blob
|
FromPath :: File -> Source Blob
|
||||||
FromHandle :: Handle 'IO.ReadMode -> Source [Blob.Blob]
|
FromHandle :: Handle 'IO.ReadMode -> Source [Blob]
|
||||||
FromPathPair :: Both File -> Source Blob.BlobPair
|
FromPathPair :: Both File -> Source BlobPair
|
||||||
FromPairHandle :: Handle 'IO.ReadMode -> Source [Blob.BlobPair]
|
FromPairHandle :: Handle 'IO.ReadMode -> Source [BlobPair]
|
||||||
|
|
||||||
data Destination = ToPath FilePath | ToHandle (Handle 'IO.WriteMode)
|
data Destination = ToPath FilePath | ToHandle (Handle 'IO.WriteMode)
|
||||||
|
|
||||||
-- | An effect to read/write 'Blob.Blob's from 'Handle's or 'FilePath's.
|
-- | An effect to read/write 'Blob's from 'Handle's or 'FilePath's.
|
||||||
data Files out where
|
data Files out where
|
||||||
Read :: Source out -> Files out
|
Read :: Source out -> Files out
|
||||||
ReadProject :: Maybe FilePath -> FilePath -> Language -> [FilePath] -> Files Project.Concrete
|
ReadProject :: Maybe FilePath -> FilePath -> Language -> [FilePath] -> Files Project.Concrete
|
||||||
|
@ -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