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.Source as Source
|
||||
|
||||
|
||||
-- | The source, path, and language of a blob.
|
||||
data Blob = 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)
|
||||
|
||||
instance FromJSON Blob where
|
||||
parseJSON = withObject "Blob" $ \b -> inferringLanguage
|
||||
<$> b .: "content"
|
||||
<*> b .: "path"
|
||||
<*> b .: "language"
|
||||
|
||||
nullBlob :: Blob -> Bool
|
||||
nullBlob Blob{..} = nullSource blobSource
|
||||
|
||||
sourceBlob :: FilePath -> Language -> Source -> Blob
|
||||
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
|
||||
-- delete, a blob to insert, or a pair of blobs to diff.
|
||||
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 a b = Join (These a b)
|
||||
|
@ -1,9 +1,11 @@
|
||||
{-# LANGUAGE DeriveAnyClass, DeriveGeneric, LambdaCase #-}
|
||||
module Data.Language where
|
||||
|
||||
import Data.Aeson
|
||||
import Prologue
|
||||
import Proto3.Suite
|
||||
import Data.Aeson
|
||||
import qualified Data.Text as T
|
||||
import Prologue
|
||||
import Proto3.Suite
|
||||
import System.FilePath.Posix
|
||||
|
||||
-- | The various languages we support.
|
||||
-- Please do not reorder any of the field names: the current implementation of 'Primitive'
|
||||
@ -23,6 +25,21 @@ data Language
|
||||
| PHP
|
||||
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.
|
||||
knownLanguage :: Language -> Bool
|
||||
knownLanguage = (/= Unknown)
|
||||
@ -72,3 +89,7 @@ extensionsForLanguage language = case language of
|
||||
Ruby -> [".rb"]
|
||||
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 Data.Array
|
||||
import Data.Aeson (FromJSON (..), withText)
|
||||
import qualified Data.ByteString as B
|
||||
import Data.Char (ord)
|
||||
import Data.List (span)
|
||||
@ -47,6 +48,8 @@ newtype Source = Source { sourceBytes :: B.ByteString }
|
||||
fromUTF8 :: B.ByteString -> Source
|
||||
fromUTF8 = Source
|
||||
|
||||
instance FromJSON Source where
|
||||
parseJSON = withText "Source" (pure . fromText)
|
||||
|
||||
-- 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.
|
||||
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)
|
||||
|
||||
instance Eq1 Data.Syntax.Declaration.Constructor where liftEq = genericLiftEq
|
||||
|
@ -316,7 +316,7 @@ sliceType :: Assignment
|
||||
sliceType = makeTerm <$> symbol SliceType <*> children (Type.Slice <$> expression)
|
||||
|
||||
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 = makeTerm <$> symbol TypeAlias <*> children (Declaration.TypeAlias [] <$> expression <*> expression)
|
||||
|
@ -34,15 +34,19 @@ type Syntax = '[
|
||||
, Literal.Float
|
||||
, Literal.Integer
|
||||
, Literal.TextElement
|
||||
, Literal.Tuple
|
||||
, Syntax.AllConstructors
|
||||
, Syntax.AnnotatedTypeVariable
|
||||
, Syntax.Class
|
||||
, Syntax.ConstructorOperator
|
||||
, Syntax.ConstructorSymbol
|
||||
, Syntax.Context
|
||||
, Syntax.Context'
|
||||
, Syntax.DefaultDeclaration
|
||||
, Syntax.Deriving
|
||||
, Syntax.Empty
|
||||
, Syntax.EntityIdentifier
|
||||
, Syntax.Error
|
||||
, Syntax.EqualityConstraint
|
||||
, Syntax.Export
|
||||
, Syntax.Field
|
||||
, Syntax.FunctionConstructor
|
||||
@ -58,6 +62,8 @@ type Syntax = '[
|
||||
, Syntax.ListConstructor
|
||||
, Syntax.Module
|
||||
, Syntax.ModuleExport
|
||||
, Syntax.NewType
|
||||
, Syntax.Operator
|
||||
, Syntax.Pragma
|
||||
, Syntax.QualifiedModuleIdentifier
|
||||
, Syntax.QualifiedTypeConstructorIdentifier
|
||||
@ -74,7 +80,7 @@ type Syntax = '[
|
||||
, Syntax.TypeSignature
|
||||
, Syntax.TypeSynonym
|
||||
, Syntax.UnitConstructor
|
||||
, Syntax.VariableOperator
|
||||
, Syntax.VariableSymbol
|
||||
, Type.TypeParameters
|
||||
, []
|
||||
]
|
||||
@ -112,27 +118,36 @@ comment :: Assignment
|
||||
comment = makeTerm <$> symbol Comment <*> (Comment.Comment <$> source)
|
||||
|
||||
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))
|
||||
|
||||
constructorIdentifier :: Assignment
|
||||
constructorIdentifier = makeTerm <$> symbol ConstructorIdentifier <*> (Syntax.Identifier . Name.name <$> source)
|
||||
constructorIdentifier = makeTerm <$> symbol ConstructorIdentifier <*> (Syntax.ConstructorIdentifier . Name.name <$> source)
|
||||
|
||||
constructorOperator :: Assignment
|
||||
constructorOperator = makeTerm <$> symbol ConstructorOperator <*> children (Syntax.ConstructorOperator <$> expression)
|
||||
|
||||
constructorSymbol :: Assignment
|
||||
constructorSymbol = makeTerm <$> symbol ConstructorSymbol <*> (Syntax.Identifier . Name.name <$> source)
|
||||
constructorSymbol = makeTerm <$> symbol ConstructorSymbol <*> (Syntax.ConstructorSymbol . Name.name <$> source)
|
||||
|
||||
context' :: Assignment
|
||||
context' = makeTerm <$> symbol Context <*> children (Syntax.Context' <$> manyTerm (type' <|> contextPattern))
|
||||
context' = makeTerm <$> symbol Context <*> children (Syntax.Context' <$> manyTerm expression)
|
||||
|
||||
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 = 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 = makeTerm <$> symbol Export <*> children (Syntax.Export <$> expressions)
|
||||
|
||||
@ -150,10 +165,13 @@ expressionChoices = [
|
||||
, character
|
||||
, comment
|
||||
, context'
|
||||
, contextPattern
|
||||
, constructorIdentifier
|
||||
, constructorOperator
|
||||
, constructorSymbol
|
||||
, defaultDeclaration
|
||||
, derivingClause
|
||||
, equalityConstraint
|
||||
, float
|
||||
, functionConstructor
|
||||
, functionDeclaration
|
||||
@ -169,9 +187,11 @@ expressionChoices = [
|
||||
, listType
|
||||
, moduleExport
|
||||
, moduleIdentifier
|
||||
, newType
|
||||
, operator
|
||||
, parenthesizedTypePattern
|
||||
, pragma
|
||||
, primitiveConstructorIdentifier
|
||||
, qualifiedModuleIdentifier
|
||||
, qualifiedTypeConstructorIdentifier
|
||||
, quotedName
|
||||
@ -179,6 +199,7 @@ expressionChoices = [
|
||||
, star
|
||||
, strictType
|
||||
, string
|
||||
, tupleType
|
||||
, type'
|
||||
, type''
|
||||
, typePattern
|
||||
@ -295,7 +316,15 @@ moduleExport :: Assignment
|
||||
moduleExport = makeTerm <$> symbol ModuleExport <*> children (Syntax.ModuleExport <$> expressions)
|
||||
|
||||
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 = typeOperator <|> constructorOperator <|> variableOperator
|
||||
@ -306,6 +335,9 @@ parenthesizedTypePattern = symbol ParenthesizedTypePattern *> children expressio
|
||||
pragma :: Assignment
|
||||
pragma = makeTerm <$> symbol Pragma <*> (Syntax.Pragma <$> source)
|
||||
|
||||
primitiveConstructorIdentifier :: Assignment
|
||||
primitiveConstructorIdentifier = makeTerm <$> symbol PrimitiveConstructorIdentifier <*> (Syntax.PrimitiveConstructorIdentifier . Name.name <$> source)
|
||||
|
||||
qualifiedModuleIdentifier :: Assignment
|
||||
qualifiedModuleIdentifier = makeTerm <$> symbol QualifiedModuleIdentifier <*> children (Syntax.QualifiedModuleIdentifier <$> someTerm' expression)
|
||||
|
||||
@ -325,28 +357,31 @@ strictType :: Assignment
|
||||
strictType = makeTerm'
|
||||
<$> symbol StrictType
|
||||
<*> children ( (inject <$> (Syntax.StrictType <$> typeConstructor <*> typeParameters))
|
||||
<|> (inject <$> (Syntax.StrictTypeVariable <$> typeVariableIdentifier)))
|
||||
<|> (inject <$> (Syntax.StrictTypeVariable <$> expression)))
|
||||
|
||||
string :: Assignment
|
||||
string = makeTerm <$> symbol String <*> (Literal.TextElement <$> source)
|
||||
|
||||
tupleType :: Assignment
|
||||
tupleType = makeTerm <$> symbol TupleType <*> children (Literal.Tuple <$> manyTerm type')
|
||||
|
||||
typeClassIdentifier :: Assignment
|
||||
typeClassIdentifier = makeTerm <$> symbol TypeClassIdentifier <*> (Syntax.Identifier . Name.name <$> source)
|
||||
typeClassIdentifier = makeTerm <$> symbol TypeClassIdentifier <*> (Syntax.TypeClassIdentifier . Name.name <$> source)
|
||||
|
||||
typeConstructorExport :: Assignment
|
||||
typeConstructorExport = makeTerm <$> symbol TypeConstructorExport <*> children (Syntax.TypeConstructorExport <$> expression)
|
||||
|
||||
typeConstructorIdentifier :: Assignment
|
||||
typeConstructorIdentifier = makeTerm <$> symbol TypeConstructorIdentifier <*> (Syntax.Identifier . Name.name <$> source)
|
||||
typeConstructorIdentifier = makeTerm <$> symbol TypeConstructorIdentifier <*> (Syntax.TypeConstructorIdentifier . Name.name <$> source)
|
||||
|
||||
typeOperator :: Assignment
|
||||
typeOperator = makeTerm <$> symbol TypeOperator <*> (Syntax.Identifier . Name.name <$> source)
|
||||
typeOperator = makeTerm <$> symbol TypeOperator <*> (Syntax.TypeOperator . Name.name <$> source)
|
||||
|
||||
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 = makeTerm <$> symbol TypeVariableIdentifier <*> (Syntax.Identifier . Name.name <$> source)
|
||||
typeVariableIdentifier = makeTerm <$> symbol TypeVariableIdentifier <*> (Syntax.TypeVariableIdentifier . Name.name <$> source)
|
||||
|
||||
tuplingConstructor :: Assignment
|
||||
tuplingConstructor = makeTerm <$> symbol TuplingConstructor <*> (tupleWithArity <$> rawSource)
|
||||
@ -369,7 +404,7 @@ type'' = makeTerm
|
||||
<*> children (Syntax.Type <$> expression <*> typeParameters <*> (kindSignature <|> emptyTerm))
|
||||
|
||||
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 = makeTerm <$> symbol TypePattern <*> children (Syntax.TypePattern <$> expressions)
|
||||
@ -382,9 +417,10 @@ typeConstructor = constructorIdentifier
|
||||
<|> qualifiedModuleIdentifier
|
||||
<|> qualifiedTypeConstructorIdentifier
|
||||
<|> quotedName
|
||||
<|> tupleType
|
||||
<|> tuplingConstructor
|
||||
<|> typeClassIdentifier
|
||||
<|> typeConstructorIdentifier
|
||||
<|> tuplingConstructor
|
||||
<|> unitConstructor
|
||||
|
||||
typeSynonymDeclaration :: Assignment
|
||||
@ -400,13 +436,13 @@ unitConstructor :: Assignment
|
||||
unitConstructor = makeTerm <$> token UnitConstructor <*> pure Syntax.UnitConstructor
|
||||
|
||||
variableIdentifier :: Assignment
|
||||
variableIdentifier = makeTerm <$> symbol VariableIdentifier <*> (Syntax.Identifier . Name.name <$> source)
|
||||
variableIdentifier = makeTerm <$> symbol VariableIdentifier <*> (Syntax.VariableIdentifier . Name.name <$> source)
|
||||
|
||||
variableOperator :: Assignment
|
||||
variableOperator = makeTerm <$> symbol VariableOperator <*> children (Syntax.VariableOperator <$> expression)
|
||||
|
||||
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 = makeTerm <$> location <*> many variableIdentifier
|
||||
|
@ -281,15 +281,6 @@ instance Show1 TypeConstructorExport where liftShowsPrec = genericLiftShowsPrec
|
||||
|
||||
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
|
||||
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
|
||||
|
||||
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 }
|
||||
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 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.IO.Class
|
||||
import Data.Aeson
|
||||
import qualified Data.Blob as Blob
|
||||
import Data.Blob
|
||||
import Data.Bool
|
||||
import qualified Data.Project as Project
|
||||
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.Lazy as BL
|
||||
import Data.Language
|
||||
import Data.Source (fromUTF8, fromText)
|
||||
import Data.Source (fromUTF8)
|
||||
import Prelude hiding (readFile)
|
||||
import Prologue hiding (MonadError (..), fail)
|
||||
import System.Directory (doesDirectoryExist)
|
||||
@ -60,16 +60,15 @@ import System.Exit
|
||||
import System.FilePath
|
||||
import System.FilePath.Glob
|
||||
import qualified System.IO as IO
|
||||
import Text.Read hiding (get)
|
||||
|
||||
-- | 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 path language) = do
|
||||
raw <- liftIO (Just <$> B.readFile path)
|
||||
pure $ Blob.sourceBlob path language . fromUTF8 <$> raw
|
||||
raw <- liftIO $ B.readFile path
|
||||
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)
|
||||
|
||||
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)
|
||||
_ -> 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 path = liftIO (doesDirectoryExist path)
|
||||
|
||||
-- | 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
|
||||
|
||||
decodeBlobPairs :: BL.ByteString -> Either String [Blob.BlobPair]
|
||||
decodeBlobPairs = fmap toBlobPairs . eitherDecode
|
||||
decodeBlobPairs :: BL.ByteString -> Either String [BlobPair]
|
||||
decodeBlobPairs = fmap blobs <$> eitherDecode
|
||||
|
||||
-- | Read JSON encoded blob pairs from a handle.
|
||||
readBlobPairsFromHandle :: MonadIO m => Handle 'IO.ReadMode -> m [Blob.BlobPair]
|
||||
readBlobPairsFromHandle = fmap toBlobPairs . readFromHandle
|
||||
readBlobPairsFromHandle :: MonadIO m => Handle 'IO.ReadMode -> m [BlobPair]
|
||||
readBlobPairsFromHandle = fmap blobs <$> readFromHandle
|
||||
|
||||
toBlobPairs :: BlobDiff -> [Blob.BlobPair]
|
||||
toBlobPairs BlobDiff{..} = toBlobPair <$> blobs
|
||||
where toBlobPair blobs = toBlob <$> blobs
|
||||
|
||||
decodeBlobs :: BL.ByteString -> Either String [Blob.Blob]
|
||||
decodeBlobs = fmap toBlobs . eitherDecode
|
||||
decodeBlobs :: BL.ByteString -> Either String [Blob]
|
||||
decodeBlobs = fmap blobs <$> eitherDecode
|
||||
|
||||
-- | Read JSON encoded blobs from a handle.
|
||||
readBlobsFromHandle :: MonadIO m => Handle 'IO.ReadMode -> m [Blob.Blob]
|
||||
readBlobsFromHandle = fmap toBlobs . readFromHandle
|
||||
readBlobsFromHandle :: MonadIO m => Handle 'IO.ReadMode -> m [Blob]
|
||||
readBlobsFromHandle = fmap blobs <$> readFromHandle
|
||||
|
||||
toBlobs :: BlobParse -> [Blob.Blob]
|
||||
toBlobs BlobParse{..} = fmap toBlob blobs
|
||||
|
||||
readBlobFromPath :: MonadIO m => File -> m Blob.Blob
|
||||
readBlobFromPath :: MonadIO m => File -> m Blob
|
||||
readBlobFromPath file = do
|
||||
maybeFile <- readFile file
|
||||
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
|
||||
notIn _ _ = True
|
||||
|
||||
readBlobsFromDir :: MonadIO m => FilePath -> m [Blob.Blob]
|
||||
readBlobsFromDir :: MonadIO m => FilePath -> m [Blob]
|
||||
readBlobsFromDir path = do
|
||||
paths <- liftIO (globDir1 (compile "[^vendor]**/*[.rb|.js|.tsx|.go|.py]") path)
|
||||
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"))
|
||||
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.
|
||||
newtype NoLanguageForBlob = NoLanguageForBlob FilePath
|
||||
@ -209,16 +168,16 @@ noLanguageForBlob :: Member (Exc SomeException) effs => FilePath -> Eff effs a
|
||||
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
|
||||
|
||||
-- | 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 (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.
|
||||
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 (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
|
||||
|
||||
data Source blob where
|
||||
FromPath :: File -> Source Blob.Blob
|
||||
FromHandle :: Handle 'IO.ReadMode -> Source [Blob.Blob]
|
||||
FromPathPair :: Both File -> Source Blob.BlobPair
|
||||
FromPairHandle :: Handle 'IO.ReadMode -> Source [Blob.BlobPair]
|
||||
FromPath :: File -> Source Blob
|
||||
FromHandle :: Handle 'IO.ReadMode -> Source [Blob]
|
||||
FromPathPair :: Both File -> Source BlobPair
|
||||
FromPairHandle :: Handle 'IO.ReadMode -> Source [BlobPair]
|
||||
|
||||
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
|
||||
Read :: Source out -> Files out
|
||||
ReadProject :: Maybe FilePath -> FilePath -> Language -> [FilePath] -> Files Project.Concrete
|
||||
|
@ -16,7 +16,6 @@
|
||||
{+(SendChannel
|
||||
{+(SendChannel
|
||||
{+(Constructor
|
||||
{+(Empty)+}
|
||||
{+(Empty)+}
|
||||
{+(Statements)+})+})+})+})+}
|
||||
{+(Type
|
||||
@ -45,7 +44,6 @@
|
||||
{-(SendChannel
|
||||
{-(SendChannel
|
||||
{-(Constructor
|
||||
{-(Empty)-}
|
||||
{-(Empty)-}
|
||||
{-(Statements)-})-})-})-})-}
|
||||
{-(Type
|
||||
|
@ -16,7 +16,6 @@
|
||||
{+(SendChannel
|
||||
{+(SendChannel
|
||||
{+(Constructor
|
||||
{+(Empty)+}
|
||||
{+(Empty)+}
|
||||
{+(Statements)+})+})+})+})+}
|
||||
{+(Type
|
||||
@ -45,7 +44,6 @@
|
||||
{-(SendChannel
|
||||
{-(SendChannel
|
||||
{-(Constructor
|
||||
{-(Empty)-}
|
||||
{-(Empty)-}
|
||||
{-(Statements)-})-})-})-})-}
|
||||
{-(Type
|
||||
|
@ -16,7 +16,6 @@
|
||||
(SendChannel
|
||||
(SendChannel
|
||||
(Constructor
|
||||
(Empty)
|
||||
(Empty)
|
||||
(Statements)))))
|
||||
(Type
|
||||
|
@ -16,7 +16,6 @@
|
||||
(SendChannel
|
||||
(SendChannel
|
||||
(Constructor
|
||||
(Empty)
|
||||
(Empty)
|
||||
(Statements)))))
|
||||
(Type
|
||||
|
@ -9,7 +9,6 @@
|
||||
(Type
|
||||
(Identifier)
|
||||
(Constructor
|
||||
(Empty)
|
||||
(Empty)
|
||||
(Field
|
||||
(Identifier)
|
||||
|
@ -9,7 +9,6 @@
|
||||
(Type
|
||||
(Identifier)
|
||||
(Constructor
|
||||
(Empty)
|
||||
(Empty)
|
||||
(Field
|
||||
(Identifier)
|
||||
|
@ -9,7 +9,6 @@
|
||||
(Type
|
||||
(Identifier)
|
||||
(Constructor
|
||||
(Empty)
|
||||
(Empty)
|
||||
(Field
|
||||
(Identifier)
|
||||
|
@ -9,7 +9,6 @@
|
||||
(Type
|
||||
(Identifier)
|
||||
(Constructor
|
||||
(Empty)
|
||||
(Empty)
|
||||
(Field
|
||||
(Identifier)
|
||||
|
@ -22,7 +22,6 @@
|
||||
(Identifier)
|
||||
(Composite
|
||||
(Constructor
|
||||
(Empty)
|
||||
(Empty)
|
||||
(Field
|
||||
{ (Identifier)
|
||||
|
@ -22,7 +22,6 @@
|
||||
(Identifier)
|
||||
(Composite
|
||||
(Constructor
|
||||
(Empty)
|
||||
(Empty)
|
||||
(Field
|
||||
{ (Identifier)
|
||||
|
@ -21,7 +21,6 @@
|
||||
(Identifier)
|
||||
(Composite
|
||||
(Constructor
|
||||
(Empty)
|
||||
(Empty)
|
||||
(Field
|
||||
(Identifier)
|
||||
|
@ -21,7 +21,6 @@
|
||||
(Identifier)
|
||||
(Composite
|
||||
(Constructor
|
||||
(Empty)
|
||||
(Empty)
|
||||
(Field
|
||||
(Identifier)
|
||||
|
@ -11,7 +11,6 @@
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
(Constructor
|
||||
(Empty)
|
||||
(Empty)
|
||||
(Statements))))
|
||||
(Statements
|
||||
@ -19,7 +18,6 @@
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
(Constructor
|
||||
(Empty)
|
||||
(Empty)
|
||||
(Field
|
||||
(Identifier)
|
||||
@ -29,7 +27,6 @@
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
(Constructor
|
||||
(Empty)
|
||||
(Empty)
|
||||
(Field
|
||||
(Identifier)
|
||||
@ -41,7 +38,6 @@
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
(Constructor
|
||||
(Empty)
|
||||
(Empty)
|
||||
(Statements
|
||||
(Field
|
||||
|
@ -11,7 +11,6 @@
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
(Constructor
|
||||
(Empty)
|
||||
(Empty)
|
||||
(Statements))))
|
||||
(Statements
|
||||
@ -19,7 +18,6 @@
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
(Constructor
|
||||
(Empty)
|
||||
(Empty)
|
||||
(Field
|
||||
(Identifier)
|
||||
@ -29,7 +27,6 @@
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
(Constructor
|
||||
(Empty)
|
||||
(Empty)
|
||||
(Field
|
||||
(Identifier)
|
||||
@ -41,7 +38,6 @@
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
(Constructor
|
||||
(Empty)
|
||||
(Empty)
|
||||
(Statements
|
||||
(Field
|
||||
|
@ -10,14 +10,12 @@
|
||||
(Type
|
||||
(Identifier)
|
||||
(Constructor
|
||||
(Empty)
|
||||
(Empty)
|
||||
(Statements))))
|
||||
(Statements
|
||||
(Type
|
||||
(Identifier)
|
||||
(Constructor
|
||||
(Empty)
|
||||
(Empty)
|
||||
(Field
|
||||
(Identifier)
|
||||
@ -26,7 +24,6 @@
|
||||
(Type
|
||||
(Identifier)
|
||||
(Constructor
|
||||
(Empty)
|
||||
(Empty)
|
||||
(Field
|
||||
(Identifier)
|
||||
@ -37,7 +34,6 @@
|
||||
(Type
|
||||
(Identifier)
|
||||
(Constructor
|
||||
(Empty)
|
||||
(Empty)
|
||||
(Statements
|
||||
(Field
|
||||
|
@ -10,14 +10,12 @@
|
||||
(Type
|
||||
(Identifier)
|
||||
(Constructor
|
||||
(Empty)
|
||||
(Empty)
|
||||
(Statements))))
|
||||
(Statements
|
||||
(Type
|
||||
(Identifier)
|
||||
(Constructor
|
||||
(Empty)
|
||||
(Empty)
|
||||
(Field
|
||||
(Identifier)
|
||||
@ -26,7 +24,6 @@
|
||||
(Type
|
||||
(Identifier)
|
||||
(Constructor
|
||||
(Empty)
|
||||
(Empty)
|
||||
(Field
|
||||
(Identifier)
|
||||
@ -37,7 +34,6 @@
|
||||
(Type
|
||||
(Identifier)
|
||||
(Constructor
|
||||
(Empty)
|
||||
(Empty)
|
||||
(Statements
|
||||
(Field
|
||||
|
@ -30,7 +30,6 @@
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
(Constructor
|
||||
(Empty)
|
||||
(Empty)
|
||||
(Statements
|
||||
(Field
|
||||
|
@ -30,7 +30,6 @@
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
(Constructor
|
||||
(Empty)
|
||||
(Empty)
|
||||
(Statements
|
||||
(Field
|
||||
|
@ -23,7 +23,6 @@
|
||||
(Type
|
||||
(Identifier)
|
||||
(Constructor
|
||||
(Empty)
|
||||
(Empty)
|
||||
(Statements
|
||||
(Field
|
||||
|
@ -23,7 +23,6 @@
|
||||
(Type
|
||||
(Identifier)
|
||||
(Constructor
|
||||
(Empty)
|
||||
(Empty)
|
||||
(Statements
|
||||
(Field
|
||||
|
@ -26,3 +26,7 @@ data (Eq (f a), Functor f) => N f a = N f a
|
||||
|
||||
data Foo bar = HasCallStack => Foo bar
|
||||
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 Baz a = Show a => Baz a
|
||||
|
||||
|
||||
data Bar = Bar !Double#
|
||||
|
||||
data SomeNumber = forall b . Show b => SomeNumber (Number b)
|
||||
|
@ -4,420 +4,453 @@
|
||||
(Datatype
|
||||
(Empty)
|
||||
(Type
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
{ (TypeConstructorIdentifier)
|
||||
->(TypeConstructorIdentifier) }
|
||||
(TypeParameters)
|
||||
(Empty))
|
||||
(Empty))
|
||||
(Datatype
|
||||
(Empty)
|
||||
(Type
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
{ (TypeConstructorIdentifier)
|
||||
->(TypeConstructorIdentifier) }
|
||||
(TypeParameters
|
||||
(Identifier))
|
||||
(TypeVariableIdentifier))
|
||||
(Empty))
|
||||
(Constructor
|
||||
(Empty)
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
{ (ConstructorIdentifier)
|
||||
->(ConstructorIdentifier) }
|
||||
(TypeParameters
|
||||
(Identifier)))
|
||||
(TypeVariableIdentifier)))
|
||||
(Empty))
|
||||
(Datatype
|
||||
(Empty)
|
||||
(Type
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
{ (TypeConstructorIdentifier)
|
||||
->(TypeConstructorIdentifier) }
|
||||
(TypeParameters
|
||||
(Identifier))
|
||||
(TypeVariableIdentifier))
|
||||
(Empty))
|
||||
(Constructor
|
||||
(Empty)
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
{ (ConstructorIdentifier)
|
||||
->(ConstructorIdentifier) }
|
||||
(TypeParameters
|
||||
(StrictTypeVariable
|
||||
(Identifier))))
|
||||
(TypeVariableIdentifier))))
|
||||
(Empty))
|
||||
(Datatype
|
||||
(Empty)
|
||||
(Type
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
{ (TypeConstructorIdentifier)
|
||||
->(TypeConstructorIdentifier) }
|
||||
(TypeParameters
|
||||
(Identifier)
|
||||
(Identifier))
|
||||
(TypeVariableIdentifier)
|
||||
(TypeVariableIdentifier))
|
||||
(Empty))
|
||||
(Constructor
|
||||
(Empty)
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
{ (ConstructorIdentifier)
|
||||
->(ConstructorIdentifier) }
|
||||
(TypeParameters
|
||||
(StrictTypeVariable
|
||||
(Identifier))
|
||||
(Identifier)))
|
||||
(TypeVariableIdentifier))
|
||||
(TypeVariableIdentifier)))
|
||||
(Empty))
|
||||
(Datatype
|
||||
(Empty)
|
||||
(Type
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
{ (TypeConstructorIdentifier)
|
||||
->(TypeConstructorIdentifier) }
|
||||
(TypeParameters)
|
||||
(Empty))
|
||||
(Constructor
|
||||
(Empty)
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
(TypeParameters))
|
||||
(Constructor
|
||||
(Empty)
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
(TypeParameters))
|
||||
(Constructor
|
||||
(Empty)
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
{ (ConstructorIdentifier)
|
||||
->(ConstructorIdentifier) }
|
||||
(TypeParameters))
|
||||
{+(Constructor
|
||||
{+(Empty)+}
|
||||
{+(Identifier)+}
|
||||
{+(ConstructorIdentifier)+}
|
||||
{+(TypeParameters)+})+}
|
||||
{+(Constructor
|
||||
{+(Empty)+}
|
||||
{+(Identifier)+}
|
||||
{+(ConstructorIdentifier)+}
|
||||
{+(TypeParameters)+})+}
|
||||
{+(Constructor
|
||||
{+(Empty)+}
|
||||
{+(Identifier)+}
|
||||
{+(ConstructorIdentifier)+}
|
||||
{+(TypeParameters)+})+}
|
||||
{+(Constructor
|
||||
{+(ConstructorIdentifier)+}
|
||||
{+(TypeParameters)+})+}
|
||||
{+(Constructor
|
||||
{+(ConstructorIdentifier)+}
|
||||
{+(TypeParameters)+})+}
|
||||
{-(Constructor
|
||||
{-(Empty)-}
|
||||
{-(Identifier)-}
|
||||
{-(ConstructorIdentifier)-}
|
||||
{-(TypeParameters)-})-}
|
||||
{-(Constructor
|
||||
{-(Empty)-}
|
||||
{-(Identifier)-}
|
||||
{-(ConstructorIdentifier)-}
|
||||
{-(TypeParameters)-})-}
|
||||
{-(Constructor
|
||||
{-(Empty)-}
|
||||
{-(Identifier)-}
|
||||
{-(ConstructorIdentifier)-}
|
||||
{-(TypeParameters)-})-}
|
||||
{-(Constructor
|
||||
{-(ConstructorIdentifier)-}
|
||||
{-(TypeParameters)-})-}
|
||||
{-(Constructor
|
||||
{-(ConstructorIdentifier)-}
|
||||
{-(TypeParameters)-})-}
|
||||
(Empty))
|
||||
(Datatype
|
||||
(Empty)
|
||||
(Type
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
{ (TypeConstructorIdentifier)
|
||||
->(TypeConstructorIdentifier) }
|
||||
(TypeParameters)
|
||||
(Empty))
|
||||
(RecordDataConstructor
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
{ (ConstructorIdentifier)
|
||||
->(ConstructorIdentifier) }
|
||||
(Statements
|
||||
(Field
|
||||
(Statements
|
||||
(Identifier))
|
||||
(VariableIdentifier))
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters)
|
||||
(Empty)))))
|
||||
(Empty))
|
||||
(Datatype
|
||||
(Empty)
|
||||
(Type
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
{ (TypeConstructorIdentifier)
|
||||
->(TypeConstructorIdentifier) }
|
||||
(TypeParameters)
|
||||
(Empty))
|
||||
(RecordDataConstructor
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
{ (ConstructorIdentifier)
|
||||
->(ConstructorIdentifier) }
|
||||
(Statements
|
||||
(Field
|
||||
(Statements
|
||||
(Identifier)
|
||||
(Identifier))
|
||||
(VariableIdentifier)
|
||||
(VariableIdentifier))
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters)
|
||||
(Empty)))))
|
||||
(Empty))
|
||||
(Datatype
|
||||
(Empty)
|
||||
(Type
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
{ (TypeConstructorIdentifier)
|
||||
->(TypeConstructorIdentifier) }
|
||||
(TypeParameters)
|
||||
(Empty))
|
||||
(RecordDataConstructor
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
{ (ConstructorIdentifier)
|
||||
->(ConstructorIdentifier) }
|
||||
(Statements
|
||||
(Field
|
||||
(Statements
|
||||
(Identifier))
|
||||
(VariableIdentifier))
|
||||
(Type
|
||||
(StrictType
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters))
|
||||
(TypeParameters)
|
||||
(Empty)))
|
||||
(Field
|
||||
(Statements
|
||||
(Identifier))
|
||||
(VariableIdentifier))
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters)
|
||||
(Empty)))))
|
||||
(Empty))
|
||||
(Datatype
|
||||
(Empty)
|
||||
(Type
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
{ (TypeConstructorIdentifier)
|
||||
->(TypeConstructorIdentifier) }
|
||||
(TypeParameters)
|
||||
(Empty))
|
||||
(RecordDataConstructor
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
{ (ConstructorIdentifier)
|
||||
->(ConstructorIdentifier) }
|
||||
(Statements
|
||||
(Field
|
||||
(Statements
|
||||
(Identifier)
|
||||
(Identifier))
|
||||
(VariableIdentifier)
|
||||
(VariableIdentifier))
|
||||
(Type
|
||||
(Context
|
||||
(Pragma)
|
||||
(StrictType
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters)))
|
||||
(TypeParameters)
|
||||
(Empty)))
|
||||
(Field
|
||||
(Statements
|
||||
(Identifier))
|
||||
(VariableIdentifier))
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters)
|
||||
(Empty)))))
|
||||
(Empty))
|
||||
{-(Datatype
|
||||
{-(Empty)-}
|
||||
{-(Type
|
||||
{-(Identifier)-}
|
||||
{-(TypeConstructorIdentifier)-}
|
||||
{-(TypeParameters)-}
|
||||
{-(Empty)-})-}
|
||||
{-(RecordDataConstructor
|
||||
{-(Identifier)-}
|
||||
{-(ConstructorIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Field
|
||||
{-(Statements
|
||||
{-(Identifier)-})-}
|
||||
{-(VariableIdentifier)-})-}
|
||||
{-(Type
|
||||
{-(Identifier)-}
|
||||
{-(TypeConstructorIdentifier)-}
|
||||
{-(TypeParameters)-}
|
||||
{-(Empty)-})-})-})-})-}
|
||||
{-(RecordDataConstructor
|
||||
{-(Identifier)-}
|
||||
{-(ConstructorIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Field
|
||||
{-(Statements
|
||||
{-(Identifier)-})-}
|
||||
{-(VariableIdentifier)-})-}
|
||||
{-(Type
|
||||
{-(Identifier)-}
|
||||
{-(TypeConstructorIdentifier)-}
|
||||
{-(TypeParameters)-}
|
||||
{-(Empty)-})-})-})-})-}
|
||||
{-(Empty)-})-}
|
||||
(Datatype
|
||||
(Empty)
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters)
|
||||
(Empty))
|
||||
(RecordDataConstructor
|
||||
(Identifier)
|
||||
(ConstructorIdentifier)
|
||||
(Statements
|
||||
(Field
|
||||
(Statements
|
||||
(Identifier))
|
||||
(VariableIdentifier))
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters)
|
||||
(Empty)))))
|
||||
(RecordDataConstructor
|
||||
(Identifier)
|
||||
(ConstructorIdentifier)
|
||||
(Statements
|
||||
(Field
|
||||
(Statements
|
||||
(Identifier))
|
||||
(VariableIdentifier))
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters)
|
||||
(Empty)))))
|
||||
(Empty))
|
||||
{+(Datatype
|
||||
{+(Empty)+}
|
||||
{+(Type
|
||||
{+(Identifier)+}
|
||||
{+(TypeConstructorIdentifier)+}
|
||||
{+(TypeParameters)+}
|
||||
{+(Empty)+})+}
|
||||
{+(RecordDataConstructor
|
||||
{+(Identifier)+}
|
||||
{+(ConstructorIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Field
|
||||
{+(Statements
|
||||
{+(Identifier)+})+}
|
||||
{+(VariableIdentifier)+})+}
|
||||
{+(Type
|
||||
{+(Identifier)+}
|
||||
{+(TypeConstructorIdentifier)+}
|
||||
{+(TypeParameters)+}
|
||||
{+(Empty)+})+})+})+})+}
|
||||
{+(RecordDataConstructor
|
||||
{+(Identifier)+}
|
||||
{+(ConstructorIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Field
|
||||
{+(Statements
|
||||
{+(Identifier)+})+}
|
||||
{+(VariableIdentifier)+})+}
|
||||
{+(Type
|
||||
{+(Identifier)+}
|
||||
{+(TypeConstructorIdentifier)+}
|
||||
{+(TypeParameters)+}
|
||||
{+(Empty)+})+})+})+})+}
|
||||
{+(Empty)+})+}
|
||||
(Datatype
|
||||
(Empty)
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters)
|
||||
(Empty))
|
||||
(Constructor
|
||||
(Empty)
|
||||
(Identifier)
|
||||
(ConstructorIdentifier)
|
||||
(TypeParameters))
|
||||
(Deriving
|
||||
(Identifier)))
|
||||
(TypeClassIdentifier)))
|
||||
(Datatype
|
||||
(Empty)
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters)
|
||||
(Empty))
|
||||
(Constructor
|
||||
(Empty)
|
||||
(Identifier)
|
||||
(ConstructorIdentifier)
|
||||
(TypeParameters))
|
||||
(Deriving
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
(Identifier)
|
||||
(Identifier)
|
||||
(Identifier)
|
||||
(Identifier)
|
||||
(Identifier)))
|
||||
{ (TypeClassIdentifier)
|
||||
->(TypeClassIdentifier) }
|
||||
(TypeClassIdentifier)
|
||||
(TypeClassIdentifier)
|
||||
(TypeClassIdentifier)
|
||||
(TypeClassIdentifier)
|
||||
(TypeClassIdentifier)))
|
||||
(Datatype
|
||||
(Context'
|
||||
(Class
|
||||
{ (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'
|
||||
(Statements
|
||||
(Class
|
||||
(Identifier)
|
||||
{ (TypeClassIdentifier)
|
||||
->(TypeClassIdentifier) }
|
||||
(TypeParameters
|
||||
{ (Identifier)
|
||||
->(Identifier) })))
|
||||
(Identifier)
|
||||
(TypeVariableIdentifier)))))
|
||||
(Type
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters
|
||||
{ (Identifier)
|
||||
->(Identifier) }))
|
||||
(TypeVariableIdentifier))
|
||||
(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))))
|
||||
|
@ -4,417 +4,449 @@
|
||||
(Datatype
|
||||
(Empty)
|
||||
(Type
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
{ (TypeConstructorIdentifier)
|
||||
->(TypeConstructorIdentifier) }
|
||||
(TypeParameters)
|
||||
(Empty))
|
||||
(Empty))
|
||||
(Datatype
|
||||
(Empty)
|
||||
(Type
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
{ (TypeConstructorIdentifier)
|
||||
->(TypeConstructorIdentifier) }
|
||||
(TypeParameters
|
||||
(Identifier))
|
||||
(TypeVariableIdentifier))
|
||||
(Empty))
|
||||
(Constructor
|
||||
(Empty)
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
{ (ConstructorIdentifier)
|
||||
->(ConstructorIdentifier) }
|
||||
(TypeParameters
|
||||
(Identifier)))
|
||||
(TypeVariableIdentifier)))
|
||||
(Empty))
|
||||
(Datatype
|
||||
(Empty)
|
||||
(Type
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
{ (TypeConstructorIdentifier)
|
||||
->(TypeConstructorIdentifier) }
|
||||
(TypeParameters
|
||||
(Identifier))
|
||||
(TypeVariableIdentifier))
|
||||
(Empty))
|
||||
(Constructor
|
||||
(Empty)
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
{ (ConstructorIdentifier)
|
||||
->(ConstructorIdentifier) }
|
||||
(TypeParameters
|
||||
(StrictTypeVariable
|
||||
(Identifier))))
|
||||
(TypeVariableIdentifier))))
|
||||
(Empty))
|
||||
(Datatype
|
||||
(Empty)
|
||||
(Type
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
{ (TypeConstructorIdentifier)
|
||||
->(TypeConstructorIdentifier) }
|
||||
(TypeParameters
|
||||
(Identifier)
|
||||
(Identifier))
|
||||
(TypeVariableIdentifier)
|
||||
(TypeVariableIdentifier))
|
||||
(Empty))
|
||||
(Constructor
|
||||
(Empty)
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
{ (ConstructorIdentifier)
|
||||
->(ConstructorIdentifier) }
|
||||
(TypeParameters
|
||||
(StrictTypeVariable
|
||||
(Identifier))
|
||||
(Identifier)))
|
||||
(TypeVariableIdentifier))
|
||||
(TypeVariableIdentifier)))
|
||||
(Empty))
|
||||
(Datatype
|
||||
(Empty)
|
||||
(Type
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
{ (TypeConstructorIdentifier)
|
||||
->(TypeConstructorIdentifier) }
|
||||
(TypeParameters)
|
||||
(Empty))
|
||||
(Constructor
|
||||
(Empty)
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
(TypeParameters))
|
||||
(Constructor
|
||||
(Empty)
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
(TypeParameters))
|
||||
(Constructor
|
||||
(Empty)
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
{ (ConstructorIdentifier)
|
||||
->(ConstructorIdentifier) }
|
||||
(TypeParameters))
|
||||
{+(Constructor
|
||||
{+(Empty)+}
|
||||
{+(Identifier)+}
|
||||
{+(ConstructorIdentifier)+}
|
||||
{+(TypeParameters)+})+}
|
||||
{+(Constructor
|
||||
{+(Empty)+}
|
||||
{+(Identifier)+}
|
||||
{+(ConstructorIdentifier)+}
|
||||
{+(TypeParameters)+})+}
|
||||
(Constructor
|
||||
(Empty)
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
{ (ConstructorIdentifier)
|
||||
->(ConstructorIdentifier) }
|
||||
(TypeParameters))
|
||||
{+(Constructor
|
||||
{+(ConstructorIdentifier)+}
|
||||
{+(TypeParameters)+})+}
|
||||
(Constructor
|
||||
{ (ConstructorIdentifier)
|
||||
->(ConstructorIdentifier) }
|
||||
(TypeParameters))
|
||||
{-(Constructor
|
||||
{-(Empty)-}
|
||||
{-(Identifier)-}
|
||||
{-(ConstructorIdentifier)-}
|
||||
{-(TypeParameters)-})-}
|
||||
{-(Constructor
|
||||
{-(Empty)-}
|
||||
{-(Identifier)-}
|
||||
{-(ConstructorIdentifier)-}
|
||||
{-(TypeParameters)-})-}
|
||||
{-(Constructor
|
||||
{-(ConstructorIdentifier)-}
|
||||
{-(TypeParameters)-})-}
|
||||
(Empty))
|
||||
(Datatype
|
||||
(Empty)
|
||||
(Type
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
{ (TypeConstructorIdentifier)
|
||||
->(TypeConstructorIdentifier) }
|
||||
(TypeParameters)
|
||||
(Empty))
|
||||
(RecordDataConstructor
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
{ (ConstructorIdentifier)
|
||||
->(ConstructorIdentifier) }
|
||||
(Statements
|
||||
(Field
|
||||
(Statements
|
||||
(Identifier))
|
||||
(VariableIdentifier))
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters)
|
||||
(Empty)))))
|
||||
(Empty))
|
||||
(Datatype
|
||||
(Empty)
|
||||
(Type
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
{ (TypeConstructorIdentifier)
|
||||
->(TypeConstructorIdentifier) }
|
||||
(TypeParameters)
|
||||
(Empty))
|
||||
(RecordDataConstructor
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
{ (ConstructorIdentifier)
|
||||
->(ConstructorIdentifier) }
|
||||
(Statements
|
||||
(Field
|
||||
(Statements
|
||||
(Identifier)
|
||||
(Identifier))
|
||||
(VariableIdentifier)
|
||||
(VariableIdentifier))
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters)
|
||||
(Empty)))))
|
||||
(Empty))
|
||||
(Datatype
|
||||
(Empty)
|
||||
(Type
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
{ (TypeConstructorIdentifier)
|
||||
->(TypeConstructorIdentifier) }
|
||||
(TypeParameters)
|
||||
(Empty))
|
||||
(RecordDataConstructor
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
{ (ConstructorIdentifier)
|
||||
->(ConstructorIdentifier) }
|
||||
(Statements
|
||||
(Field
|
||||
(Statements
|
||||
(Identifier))
|
||||
(VariableIdentifier))
|
||||
(Type
|
||||
(StrictType
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters))
|
||||
(TypeParameters)
|
||||
(Empty)))
|
||||
(Field
|
||||
(Statements
|
||||
(Identifier))
|
||||
(VariableIdentifier))
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters)
|
||||
(Empty)))))
|
||||
(Empty))
|
||||
(Datatype
|
||||
(Empty)
|
||||
(Type
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
{ (TypeConstructorIdentifier)
|
||||
->(TypeConstructorIdentifier) }
|
||||
(TypeParameters)
|
||||
(Empty))
|
||||
(RecordDataConstructor
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
{ (ConstructorIdentifier)
|
||||
->(ConstructorIdentifier) }
|
||||
(Statements
|
||||
(Field
|
||||
(Statements
|
||||
(Identifier)
|
||||
(Identifier))
|
||||
(VariableIdentifier)
|
||||
(VariableIdentifier))
|
||||
(Type
|
||||
(Context
|
||||
(Pragma)
|
||||
(StrictType
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters)))
|
||||
(TypeParameters)
|
||||
(Empty)))
|
||||
(Field
|
||||
(Statements
|
||||
(Identifier))
|
||||
(VariableIdentifier))
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters)
|
||||
(Empty)))))
|
||||
(Empty))
|
||||
{+(Datatype
|
||||
{+(Empty)+}
|
||||
{+(Type
|
||||
{+(Identifier)+}
|
||||
{+(TypeConstructorIdentifier)+}
|
||||
{+(TypeParameters)+}
|
||||
{+(Empty)+})+}
|
||||
{+(RecordDataConstructor
|
||||
{+(Identifier)+}
|
||||
{+(ConstructorIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Field
|
||||
{+(Statements
|
||||
{+(Identifier)+})+}
|
||||
{+(VariableIdentifier)+})+}
|
||||
{+(Type
|
||||
{+(Identifier)+}
|
||||
{+(TypeConstructorIdentifier)+}
|
||||
{+(TypeParameters)+}
|
||||
{+(Empty)+})+})+})+})+}
|
||||
{+(RecordDataConstructor
|
||||
{+(Identifier)+}
|
||||
{+(ConstructorIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Field
|
||||
{+(Statements
|
||||
{+(Identifier)+})+}
|
||||
{+(VariableIdentifier)+})+}
|
||||
{+(Type
|
||||
{+(Identifier)+}
|
||||
{+(TypeConstructorIdentifier)+}
|
||||
{+(TypeParameters)+}
|
||||
{+(Empty)+})+})+})+})+}
|
||||
{+(Empty)+})+}
|
||||
(Datatype
|
||||
(Empty)
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters)
|
||||
(Empty))
|
||||
(RecordDataConstructor
|
||||
(Identifier)
|
||||
(ConstructorIdentifier)
|
||||
(Statements
|
||||
(Field
|
||||
(Statements
|
||||
(Identifier))
|
||||
(VariableIdentifier))
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters)
|
||||
(Empty)))))
|
||||
(RecordDataConstructor
|
||||
(Identifier)
|
||||
(ConstructorIdentifier)
|
||||
(Statements
|
||||
(Field
|
||||
(Statements
|
||||
(Identifier))
|
||||
(VariableIdentifier))
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters)
|
||||
(Empty)))))
|
||||
(Empty))
|
||||
{-(Datatype
|
||||
{-(Empty)-}
|
||||
{-(Type
|
||||
{-(Identifier)-}
|
||||
{-(TypeConstructorIdentifier)-}
|
||||
{-(TypeParameters)-}
|
||||
{-(Empty)-})-}
|
||||
{-(RecordDataConstructor
|
||||
{-(Identifier)-}
|
||||
{-(ConstructorIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Field
|
||||
{-(Statements
|
||||
{-(Identifier)-})-}
|
||||
{-(VariableIdentifier)-})-}
|
||||
{-(Type
|
||||
{-(Identifier)-}
|
||||
{-(TypeConstructorIdentifier)-}
|
||||
{-(TypeParameters)-}
|
||||
{-(Empty)-})-})-})-})-}
|
||||
{-(RecordDataConstructor
|
||||
{-(Identifier)-}
|
||||
{-(ConstructorIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Field
|
||||
{-(Statements
|
||||
{-(Identifier)-})-}
|
||||
{-(VariableIdentifier)-})-}
|
||||
{-(Type
|
||||
{-(Identifier)-}
|
||||
{-(TypeConstructorIdentifier)-}
|
||||
{-(TypeParameters)-}
|
||||
{-(Empty)-})-})-})-})-}
|
||||
{-(Empty)-})-}
|
||||
(Datatype
|
||||
(Empty)
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters)
|
||||
(Empty))
|
||||
(Constructor
|
||||
(Empty)
|
||||
(Identifier)
|
||||
(ConstructorIdentifier)
|
||||
(TypeParameters))
|
||||
(Deriving
|
||||
(Identifier)))
|
||||
(TypeClassIdentifier)))
|
||||
(Datatype
|
||||
(Empty)
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters)
|
||||
(Empty))
|
||||
(Constructor
|
||||
(Empty)
|
||||
(Identifier)
|
||||
(ConstructorIdentifier)
|
||||
(TypeParameters))
|
||||
(Deriving
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
(Identifier)
|
||||
(Identifier)
|
||||
(Identifier)
|
||||
(Identifier)
|
||||
(Identifier)))
|
||||
{ (TypeClassIdentifier)
|
||||
->(TypeClassIdentifier) }
|
||||
(TypeClassIdentifier)
|
||||
(TypeClassIdentifier)
|
||||
(TypeClassIdentifier)
|
||||
(TypeClassIdentifier)
|
||||
(TypeClassIdentifier)))
|
||||
(Datatype
|
||||
(Context'
|
||||
(Class
|
||||
{ (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'
|
||||
(Statements
|
||||
(Class
|
||||
(Identifier)
|
||||
{ (TypeClassIdentifier)
|
||||
->(TypeClassIdentifier) }
|
||||
(TypeParameters
|
||||
{ (Identifier)
|
||||
->(Identifier) })))
|
||||
(Identifier)
|
||||
(TypeVariableIdentifier)))))
|
||||
(Type
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters
|
||||
{ (Identifier)
|
||||
->(Identifier) }))
|
||||
(TypeVariableIdentifier))
|
||||
(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))))
|
||||
|
@ -4,354 +4,381 @@
|
||||
(Datatype
|
||||
(Empty)
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters)
|
||||
(Empty))
|
||||
(Empty))
|
||||
(Datatype
|
||||
(Empty)
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters
|
||||
(Identifier))
|
||||
(TypeVariableIdentifier))
|
||||
(Empty))
|
||||
(Constructor
|
||||
(Empty)
|
||||
(Identifier)
|
||||
(ConstructorIdentifier)
|
||||
(TypeParameters
|
||||
(Identifier)))
|
||||
(TypeVariableIdentifier)))
|
||||
(Empty))
|
||||
(Datatype
|
||||
(Empty)
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters
|
||||
(Identifier))
|
||||
(TypeVariableIdentifier))
|
||||
(Empty))
|
||||
(Constructor
|
||||
(Empty)
|
||||
(Identifier)
|
||||
(ConstructorIdentifier)
|
||||
(TypeParameters
|
||||
(StrictTypeVariable
|
||||
(Identifier))))
|
||||
(TypeVariableIdentifier))))
|
||||
(Empty))
|
||||
(Datatype
|
||||
(Empty)
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters
|
||||
(Identifier)
|
||||
(Identifier))
|
||||
(TypeVariableIdentifier)
|
||||
(TypeVariableIdentifier))
|
||||
(Empty))
|
||||
(Constructor
|
||||
(Empty)
|
||||
(Identifier)
|
||||
(ConstructorIdentifier)
|
||||
(TypeParameters
|
||||
(StrictTypeVariable
|
||||
(Identifier))
|
||||
(Identifier)))
|
||||
(TypeVariableIdentifier))
|
||||
(TypeVariableIdentifier)))
|
||||
(Empty))
|
||||
(Datatype
|
||||
(Empty)
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters)
|
||||
(Empty))
|
||||
(Constructor
|
||||
(Empty)
|
||||
(Identifier)
|
||||
(ConstructorIdentifier)
|
||||
(TypeParameters))
|
||||
(Constructor
|
||||
(Empty)
|
||||
(Identifier)
|
||||
(ConstructorIdentifier)
|
||||
(TypeParameters))
|
||||
(Constructor
|
||||
(Empty)
|
||||
(Identifier)
|
||||
(ConstructorIdentifier)
|
||||
(TypeParameters))
|
||||
(Constructor
|
||||
(Empty)
|
||||
(Identifier)
|
||||
(ConstructorIdentifier)
|
||||
(TypeParameters))
|
||||
(Constructor
|
||||
(Empty)
|
||||
(Identifier)
|
||||
(ConstructorIdentifier)
|
||||
(TypeParameters))
|
||||
(Constructor
|
||||
(Empty)
|
||||
(Identifier)
|
||||
(ConstructorIdentifier)
|
||||
(TypeParameters))
|
||||
(Empty))
|
||||
(Datatype
|
||||
(Empty)
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters)
|
||||
(Empty))
|
||||
(RecordDataConstructor
|
||||
(Identifier)
|
||||
(ConstructorIdentifier)
|
||||
(Statements
|
||||
(Field
|
||||
(Statements
|
||||
(Identifier))
|
||||
(VariableIdentifier))
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters)
|
||||
(Empty)))))
|
||||
(Empty))
|
||||
(Datatype
|
||||
(Empty)
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters)
|
||||
(Empty))
|
||||
(RecordDataConstructor
|
||||
(Identifier)
|
||||
(ConstructorIdentifier)
|
||||
(Statements
|
||||
(Field
|
||||
(Statements
|
||||
(Identifier)
|
||||
(Identifier))
|
||||
(VariableIdentifier)
|
||||
(VariableIdentifier))
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters)
|
||||
(Empty)))))
|
||||
(Empty))
|
||||
(Datatype
|
||||
(Empty)
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters)
|
||||
(Empty))
|
||||
(RecordDataConstructor
|
||||
(Identifier)
|
||||
(ConstructorIdentifier)
|
||||
(Statements
|
||||
(Field
|
||||
(Statements
|
||||
(Identifier))
|
||||
(VariableIdentifier))
|
||||
(Type
|
||||
(StrictType
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters))
|
||||
(TypeParameters)
|
||||
(Empty)))
|
||||
(Field
|
||||
(Statements
|
||||
(Identifier))
|
||||
(VariableIdentifier))
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters)
|
||||
(Empty)))))
|
||||
(Empty))
|
||||
(Datatype
|
||||
(Empty)
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters)
|
||||
(Empty))
|
||||
(RecordDataConstructor
|
||||
(Identifier)
|
||||
(ConstructorIdentifier)
|
||||
(Statements
|
||||
(Field
|
||||
(Statements
|
||||
(Identifier)
|
||||
(Identifier))
|
||||
(VariableIdentifier)
|
||||
(VariableIdentifier))
|
||||
(Type
|
||||
(Context
|
||||
(Pragma)
|
||||
(StrictType
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters)))
|
||||
(TypeParameters)
|
||||
(Empty)))
|
||||
(Field
|
||||
(Statements
|
||||
(Identifier))
|
||||
(VariableIdentifier))
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters)
|
||||
(Empty)))))
|
||||
(Empty))
|
||||
(Datatype
|
||||
(Empty)
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters)
|
||||
(Empty))
|
||||
(RecordDataConstructor
|
||||
(Identifier)
|
||||
(ConstructorIdentifier)
|
||||
(Statements
|
||||
(Field
|
||||
(Statements
|
||||
(Identifier))
|
||||
(VariableIdentifier))
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters)
|
||||
(Empty)))))
|
||||
(RecordDataConstructor
|
||||
(Identifier)
|
||||
(ConstructorIdentifier)
|
||||
(Statements
|
||||
(Field
|
||||
(Statements
|
||||
(Identifier))
|
||||
(VariableIdentifier))
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters)
|
||||
(Empty)))))
|
||||
(Empty))
|
||||
(Datatype
|
||||
(Empty)
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters)
|
||||
(Empty))
|
||||
(RecordDataConstructor
|
||||
(Identifier)
|
||||
(ConstructorIdentifier)
|
||||
(Statements
|
||||
(Field
|
||||
(Statements
|
||||
(Identifier))
|
||||
(VariableIdentifier))
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters)
|
||||
(Empty)))))
|
||||
(RecordDataConstructor
|
||||
(Identifier)
|
||||
(ConstructorIdentifier)
|
||||
(Statements
|
||||
(Field
|
||||
(Statements
|
||||
(Identifier))
|
||||
(VariableIdentifier))
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters)
|
||||
(Empty)))))
|
||||
(Empty))
|
||||
(Datatype
|
||||
(Empty)
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters)
|
||||
(Empty))
|
||||
(Constructor
|
||||
(Empty)
|
||||
(Identifier)
|
||||
(ConstructorIdentifier)
|
||||
(TypeParameters))
|
||||
(Deriving
|
||||
(Identifier)))
|
||||
(TypeClassIdentifier)))
|
||||
(Datatype
|
||||
(Empty)
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters)
|
||||
(Empty))
|
||||
(Constructor
|
||||
(Empty)
|
||||
(Identifier)
|
||||
(ConstructorIdentifier)
|
||||
(TypeParameters))
|
||||
(Deriving
|
||||
(Identifier)
|
||||
(Identifier)
|
||||
(Identifier)
|
||||
(Identifier)
|
||||
(Identifier)
|
||||
(Identifier)))
|
||||
(TypeClassIdentifier)
|
||||
(TypeClassIdentifier)
|
||||
(TypeClassIdentifier)
|
||||
(TypeClassIdentifier)
|
||||
(TypeClassIdentifier)
|
||||
(TypeClassIdentifier)))
|
||||
(Datatype
|
||||
(Context'
|
||||
(Class
|
||||
(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'
|
||||
(Statements
|
||||
(Class
|
||||
(Identifier)
|
||||
(TypeClassIdentifier)
|
||||
(TypeParameters
|
||||
(Identifier))))
|
||||
(Identifier)
|
||||
(TypeVariableIdentifier)))))
|
||||
(Type
|
||||
(TypeConstructorIdentifier)
|
||||
(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))))
|
||||
|
@ -4,354 +4,381 @@
|
||||
(Datatype
|
||||
(Empty)
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters)
|
||||
(Empty))
|
||||
(Empty))
|
||||
(Datatype
|
||||
(Empty)
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters
|
||||
(Identifier))
|
||||
(TypeVariableIdentifier))
|
||||
(Empty))
|
||||
(Constructor
|
||||
(Empty)
|
||||
(Identifier)
|
||||
(ConstructorIdentifier)
|
||||
(TypeParameters
|
||||
(Identifier)))
|
||||
(TypeVariableIdentifier)))
|
||||
(Empty))
|
||||
(Datatype
|
||||
(Empty)
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters
|
||||
(Identifier))
|
||||
(TypeVariableIdentifier))
|
||||
(Empty))
|
||||
(Constructor
|
||||
(Empty)
|
||||
(Identifier)
|
||||
(ConstructorIdentifier)
|
||||
(TypeParameters
|
||||
(StrictTypeVariable
|
||||
(Identifier))))
|
||||
(TypeVariableIdentifier))))
|
||||
(Empty))
|
||||
(Datatype
|
||||
(Empty)
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters
|
||||
(Identifier)
|
||||
(Identifier))
|
||||
(TypeVariableIdentifier)
|
||||
(TypeVariableIdentifier))
|
||||
(Empty))
|
||||
(Constructor
|
||||
(Empty)
|
||||
(Identifier)
|
||||
(ConstructorIdentifier)
|
||||
(TypeParameters
|
||||
(StrictTypeVariable
|
||||
(Identifier))
|
||||
(Identifier)))
|
||||
(TypeVariableIdentifier))
|
||||
(TypeVariableIdentifier)))
|
||||
(Empty))
|
||||
(Datatype
|
||||
(Empty)
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters)
|
||||
(Empty))
|
||||
(Constructor
|
||||
(Empty)
|
||||
(Identifier)
|
||||
(ConstructorIdentifier)
|
||||
(TypeParameters))
|
||||
(Constructor
|
||||
(Empty)
|
||||
(Identifier)
|
||||
(ConstructorIdentifier)
|
||||
(TypeParameters))
|
||||
(Constructor
|
||||
(Empty)
|
||||
(Identifier)
|
||||
(ConstructorIdentifier)
|
||||
(TypeParameters))
|
||||
(Constructor
|
||||
(Empty)
|
||||
(Identifier)
|
||||
(ConstructorIdentifier)
|
||||
(TypeParameters))
|
||||
(Constructor
|
||||
(Empty)
|
||||
(Identifier)
|
||||
(ConstructorIdentifier)
|
||||
(TypeParameters))
|
||||
(Constructor
|
||||
(Empty)
|
||||
(Identifier)
|
||||
(ConstructorIdentifier)
|
||||
(TypeParameters))
|
||||
(Empty))
|
||||
(Datatype
|
||||
(Empty)
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters)
|
||||
(Empty))
|
||||
(RecordDataConstructor
|
||||
(Identifier)
|
||||
(ConstructorIdentifier)
|
||||
(Statements
|
||||
(Field
|
||||
(Statements
|
||||
(Identifier))
|
||||
(VariableIdentifier))
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters)
|
||||
(Empty)))))
|
||||
(Empty))
|
||||
(Datatype
|
||||
(Empty)
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters)
|
||||
(Empty))
|
||||
(RecordDataConstructor
|
||||
(Identifier)
|
||||
(ConstructorIdentifier)
|
||||
(Statements
|
||||
(Field
|
||||
(Statements
|
||||
(Identifier)
|
||||
(Identifier))
|
||||
(VariableIdentifier)
|
||||
(VariableIdentifier))
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters)
|
||||
(Empty)))))
|
||||
(Empty))
|
||||
(Datatype
|
||||
(Empty)
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters)
|
||||
(Empty))
|
||||
(RecordDataConstructor
|
||||
(Identifier)
|
||||
(ConstructorIdentifier)
|
||||
(Statements
|
||||
(Field
|
||||
(Statements
|
||||
(Identifier))
|
||||
(VariableIdentifier))
|
||||
(Type
|
||||
(StrictType
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters))
|
||||
(TypeParameters)
|
||||
(Empty)))
|
||||
(Field
|
||||
(Statements
|
||||
(Identifier))
|
||||
(VariableIdentifier))
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters)
|
||||
(Empty)))))
|
||||
(Empty))
|
||||
(Datatype
|
||||
(Empty)
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters)
|
||||
(Empty))
|
||||
(RecordDataConstructor
|
||||
(Identifier)
|
||||
(ConstructorIdentifier)
|
||||
(Statements
|
||||
(Field
|
||||
(Statements
|
||||
(Identifier)
|
||||
(Identifier))
|
||||
(VariableIdentifier)
|
||||
(VariableIdentifier))
|
||||
(Type
|
||||
(Context
|
||||
(Pragma)
|
||||
(StrictType
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters)))
|
||||
(TypeParameters)
|
||||
(Empty)))
|
||||
(Field
|
||||
(Statements
|
||||
(Identifier))
|
||||
(VariableIdentifier))
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters)
|
||||
(Empty)))))
|
||||
(Empty))
|
||||
(Datatype
|
||||
(Empty)
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters)
|
||||
(Empty))
|
||||
(RecordDataConstructor
|
||||
(Identifier)
|
||||
(ConstructorIdentifier)
|
||||
(Statements
|
||||
(Field
|
||||
(Statements
|
||||
(Identifier))
|
||||
(VariableIdentifier))
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters)
|
||||
(Empty)))))
|
||||
(RecordDataConstructor
|
||||
(Identifier)
|
||||
(ConstructorIdentifier)
|
||||
(Statements
|
||||
(Field
|
||||
(Statements
|
||||
(Identifier))
|
||||
(VariableIdentifier))
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters)
|
||||
(Empty)))))
|
||||
(Empty))
|
||||
(Datatype
|
||||
(Empty)
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters)
|
||||
(Empty))
|
||||
(RecordDataConstructor
|
||||
(Identifier)
|
||||
(ConstructorIdentifier)
|
||||
(Statements
|
||||
(Field
|
||||
(Statements
|
||||
(Identifier))
|
||||
(VariableIdentifier))
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters)
|
||||
(Empty)))))
|
||||
(RecordDataConstructor
|
||||
(Identifier)
|
||||
(ConstructorIdentifier)
|
||||
(Statements
|
||||
(Field
|
||||
(Statements
|
||||
(Identifier))
|
||||
(VariableIdentifier))
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters)
|
||||
(Empty)))))
|
||||
(Empty))
|
||||
(Datatype
|
||||
(Empty)
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters)
|
||||
(Empty))
|
||||
(Constructor
|
||||
(Empty)
|
||||
(Identifier)
|
||||
(ConstructorIdentifier)
|
||||
(TypeParameters))
|
||||
(Deriving
|
||||
(Identifier)))
|
||||
(TypeClassIdentifier)))
|
||||
(Datatype
|
||||
(Empty)
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters)
|
||||
(Empty))
|
||||
(Constructor
|
||||
(Empty)
|
||||
(Identifier)
|
||||
(ConstructorIdentifier)
|
||||
(TypeParameters))
|
||||
(Deriving
|
||||
(Identifier)
|
||||
(Identifier)
|
||||
(Identifier)
|
||||
(Identifier)
|
||||
(Identifier)
|
||||
(Identifier)))
|
||||
(TypeClassIdentifier)
|
||||
(TypeClassIdentifier)
|
||||
(TypeClassIdentifier)
|
||||
(TypeClassIdentifier)
|
||||
(TypeClassIdentifier)
|
||||
(TypeClassIdentifier)))
|
||||
(Datatype
|
||||
(Context'
|
||||
(Class
|
||||
(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'
|
||||
(Statements
|
||||
(Class
|
||||
(Identifier)
|
||||
(TypeClassIdentifier)
|
||||
(TypeParameters
|
||||
(Identifier))))
|
||||
(Identifier)
|
||||
(TypeVariableIdentifier)))))
|
||||
(Type
|
||||
(TypeConstructorIdentifier)
|
||||
(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))))
|
||||
|
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
|
||||
(Empty)
|
||||
(Type
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
{ (TypeConstructorIdentifier)
|
||||
->(TypeConstructorIdentifier) }
|
||||
(Statements
|
||||
(Identifier)
|
||||
(Identifier)
|
||||
(Identifier))
|
||||
(TypeVariableIdentifier)
|
||||
(TypeVariableIdentifier)
|
||||
(TypeVariableIdentifier))
|
||||
(Empty))
|
||||
(Statements
|
||||
(GADTConstructor
|
||||
(Empty)
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(FunctionType
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeVariableIdentifier)
|
||||
(TypeParameters)
|
||||
(Empty))
|
||||
(FunctionType
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeVariableIdentifier)
|
||||
(TypeParameters)
|
||||
(Empty))
|
||||
(FunctionType
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeVariableIdentifier)
|
||||
(TypeParameters)
|
||||
(Empty))
|
||||
(Type
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
{ (TypeConstructorIdentifier)
|
||||
->(TypeConstructorIdentifier) }
|
||||
(TypeParameters
|
||||
(Identifier)
|
||||
(Identifier)
|
||||
(Identifier))
|
||||
(TypeVariableIdentifier)
|
||||
(TypeVariableIdentifier)
|
||||
(TypeVariableIdentifier))
|
||||
(Empty))))))))
|
||||
(GADT
|
||||
(Empty)
|
||||
(Type
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
{ (TypeConstructorIdentifier)
|
||||
->(TypeConstructorIdentifier) }
|
||||
(Statements
|
||||
(Identifier)
|
||||
(Identifier))
|
||||
(TypeVariableIdentifier)
|
||||
(TypeVariableIdentifier))
|
||||
(Empty))
|
||||
(Statements
|
||||
(GADTConstructor
|
||||
(Empty)
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
{ (TypeConstructorIdentifier)
|
||||
->(TypeConstructorIdentifier) }
|
||||
(FunctionType
|
||||
(Type
|
||||
(Statements
|
||||
(Field
|
||||
(Statements
|
||||
(Identifier))
|
||||
(VariableIdentifier))
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters
|
||||
(Identifier))
|
||||
(TypeConstructorIdentifier))
|
||||
(Empty)))
|
||||
(Field
|
||||
(Statements
|
||||
(Identifier))
|
||||
(VariableIdentifier))
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeVariableIdentifier)
|
||||
(TypeParameters
|
||||
(Identifier))
|
||||
(TypeVariableIdentifier))
|
||||
(Empty))))
|
||||
(TypeParameters)
|
||||
(Empty))
|
||||
(Type
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
{ (TypeConstructorIdentifier)
|
||||
->(TypeConstructorIdentifier) }
|
||||
(TypeParameters
|
||||
(Identifier)
|
||||
(Identifier))
|
||||
(TypeVariableIdentifier)
|
||||
(TypeVariableIdentifier))
|
||||
(Empty))))))
|
||||
(GADT
|
||||
(Empty)
|
||||
(Type
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
{ (TypeConstructorIdentifier)
|
||||
->(TypeConstructorIdentifier) }
|
||||
(Statements
|
||||
(Identifier))
|
||||
(TypeVariableIdentifier))
|
||||
(KindSignature
|
||||
(KindFunctionType
|
||||
(Kind
|
||||
@ -100,75 +100,75 @@
|
||||
(GADT
|
||||
(Empty)
|
||||
(Type
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
{ (TypeConstructorIdentifier)
|
||||
->(TypeConstructorIdentifier) }
|
||||
(Statements
|
||||
(Identifier))
|
||||
(TypeVariableIdentifier))
|
||||
(Empty))
|
||||
(Statements
|
||||
(GADTConstructor
|
||||
(Empty)
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
{ (TypeConstructorIdentifier)
|
||||
->(TypeConstructorIdentifier) }
|
||||
(FunctionType
|
||||
(Type
|
||||
(StrictType
|
||||
(QualifiedTypeConstructorIdentifier
|
||||
(Identifier)
|
||||
(Identifier))
|
||||
(ModuleIdentifier)
|
||||
(TypeConstructorIdentifier))
|
||||
(TypeParameters))
|
||||
(TypeParameters)
|
||||
(Empty))
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters
|
||||
(QualifiedTypeConstructorIdentifier
|
||||
(Identifier)
|
||||
(Identifier)))
|
||||
(ModuleIdentifier)
|
||||
(TypeConstructorIdentifier)))
|
||||
(Empty))))
|
||||
(GADTConstructor
|
||||
(Empty)
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
{ (TypeConstructorIdentifier)
|
||||
->(TypeConstructorIdentifier) }
|
||||
(FunctionType
|
||||
(Type
|
||||
(StrictType
|
||||
(QualifiedTypeConstructorIdentifier
|
||||
(Identifier)
|
||||
(Identifier))
|
||||
(ModuleIdentifier)
|
||||
(TypeConstructorIdentifier))
|
||||
(TypeParameters))
|
||||
(TypeParameters)
|
||||
(Empty))
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters
|
||||
(QualifiedTypeConstructorIdentifier
|
||||
(Identifier)
|
||||
(Identifier)))
|
||||
(ModuleIdentifier)
|
||||
(TypeConstructorIdentifier)))
|
||||
(Empty))))
|
||||
(GADTConstructor
|
||||
(Empty)
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
{ (TypeConstructorIdentifier)
|
||||
->(TypeConstructorIdentifier) }
|
||||
(FunctionType
|
||||
(Type
|
||||
(StrictType
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters))
|
||||
(TypeParameters)
|
||||
(Empty))
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters
|
||||
(Identifier))
|
||||
(TypeConstructorIdentifier))
|
||||
(Empty))))))
|
||||
(GADT
|
||||
(Empty)
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(Statements
|
||||
(AnnotatedTypeVariable
|
||||
(Identifier)
|
||||
(TypeVariableIdentifier)
|
||||
(KindListType
|
||||
(KindFunctionType
|
||||
(Kind
|
||||
@ -176,32 +176,32 @@
|
||||
(Kind
|
||||
(Star)))))
|
||||
(AnnotatedTypeVariable
|
||||
(Identifier)
|
||||
(TypeVariableIdentifier)
|
||||
(Star)))
|
||||
(Empty))
|
||||
(Statements
|
||||
(GADTConstructor
|
||||
(Empty)
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(Context
|
||||
(Pragma)
|
||||
(FunctionType
|
||||
(Type
|
||||
(StrictType
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
{ (TypeConstructorIdentifier)
|
||||
->(TypeConstructorIdentifier) }
|
||||
(TypeParameters))
|
||||
(TypeParameters)
|
||||
(Empty))
|
||||
(FunctionType
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeVariableIdentifier)
|
||||
(TypeParameters
|
||||
(Identifier))
|
||||
(TypeVariableIdentifier))
|
||||
(Empty))
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters
|
||||
(Identifier)
|
||||
(Identifier))
|
||||
(TypeVariableIdentifier)
|
||||
(TypeVariableIdentifier))
|
||||
(Empty))))))))))
|
||||
|
@ -4,89 +4,89 @@
|
||||
(GADT
|
||||
(Empty)
|
||||
(Type
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
{ (TypeConstructorIdentifier)
|
||||
->(TypeConstructorIdentifier) }
|
||||
(Statements
|
||||
(Identifier)
|
||||
(Identifier)
|
||||
(Identifier))
|
||||
(TypeVariableIdentifier)
|
||||
(TypeVariableIdentifier)
|
||||
(TypeVariableIdentifier))
|
||||
(Empty))
|
||||
(Statements
|
||||
(GADTConstructor
|
||||
(Empty)
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(FunctionType
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeVariableIdentifier)
|
||||
(TypeParameters)
|
||||
(Empty))
|
||||
(FunctionType
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeVariableIdentifier)
|
||||
(TypeParameters)
|
||||
(Empty))
|
||||
(FunctionType
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeVariableIdentifier)
|
||||
(TypeParameters)
|
||||
(Empty))
|
||||
(Type
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
{ (TypeConstructorIdentifier)
|
||||
->(TypeConstructorIdentifier) }
|
||||
(TypeParameters
|
||||
(Identifier)
|
||||
(Identifier)
|
||||
(Identifier))
|
||||
(TypeVariableIdentifier)
|
||||
(TypeVariableIdentifier)
|
||||
(TypeVariableIdentifier))
|
||||
(Empty))))))))
|
||||
(GADT
|
||||
(Empty)
|
||||
(Type
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
{ (TypeConstructorIdentifier)
|
||||
->(TypeConstructorIdentifier) }
|
||||
(Statements
|
||||
(Identifier)
|
||||
(Identifier))
|
||||
(TypeVariableIdentifier)
|
||||
(TypeVariableIdentifier))
|
||||
(Empty))
|
||||
(Statements
|
||||
(GADTConstructor
|
||||
(Empty)
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
{ (TypeConstructorIdentifier)
|
||||
->(TypeConstructorIdentifier) }
|
||||
(FunctionType
|
||||
(Type
|
||||
(Statements
|
||||
(Field
|
||||
(Statements
|
||||
(Identifier))
|
||||
(VariableIdentifier))
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters
|
||||
(Identifier))
|
||||
(TypeConstructorIdentifier))
|
||||
(Empty)))
|
||||
(Field
|
||||
(Statements
|
||||
(Identifier))
|
||||
(VariableIdentifier))
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeVariableIdentifier)
|
||||
(TypeParameters
|
||||
(Identifier))
|
||||
(TypeVariableIdentifier))
|
||||
(Empty))))
|
||||
(TypeParameters)
|
||||
(Empty))
|
||||
(Type
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
{ (TypeConstructorIdentifier)
|
||||
->(TypeConstructorIdentifier) }
|
||||
(TypeParameters
|
||||
(Identifier)
|
||||
(Identifier))
|
||||
(TypeVariableIdentifier)
|
||||
(TypeVariableIdentifier))
|
||||
(Empty))))))
|
||||
(GADT
|
||||
(Empty)
|
||||
(Type
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
{ (TypeConstructorIdentifier)
|
||||
->(TypeConstructorIdentifier) }
|
||||
(Statements
|
||||
(Identifier))
|
||||
(TypeVariableIdentifier))
|
||||
(KindSignature
|
||||
(KindFunctionType
|
||||
(Kind
|
||||
@ -100,75 +100,75 @@
|
||||
(GADT
|
||||
(Empty)
|
||||
(Type
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
{ (TypeConstructorIdentifier)
|
||||
->(TypeConstructorIdentifier) }
|
||||
(Statements
|
||||
(Identifier))
|
||||
(TypeVariableIdentifier))
|
||||
(Empty))
|
||||
(Statements
|
||||
(GADTConstructor
|
||||
(Empty)
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
{ (TypeConstructorIdentifier)
|
||||
->(TypeConstructorIdentifier) }
|
||||
(FunctionType
|
||||
(Type
|
||||
(StrictType
|
||||
(QualifiedTypeConstructorIdentifier
|
||||
(Identifier)
|
||||
(Identifier))
|
||||
(ModuleIdentifier)
|
||||
(TypeConstructorIdentifier))
|
||||
(TypeParameters))
|
||||
(TypeParameters)
|
||||
(Empty))
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters
|
||||
(QualifiedTypeConstructorIdentifier
|
||||
(Identifier)
|
||||
(Identifier)))
|
||||
(ModuleIdentifier)
|
||||
(TypeConstructorIdentifier)))
|
||||
(Empty))))
|
||||
(GADTConstructor
|
||||
(Empty)
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
{ (TypeConstructorIdentifier)
|
||||
->(TypeConstructorIdentifier) }
|
||||
(FunctionType
|
||||
(Type
|
||||
(StrictType
|
||||
(QualifiedTypeConstructorIdentifier
|
||||
(Identifier)
|
||||
(Identifier))
|
||||
(ModuleIdentifier)
|
||||
(TypeConstructorIdentifier))
|
||||
(TypeParameters))
|
||||
(TypeParameters)
|
||||
(Empty))
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters
|
||||
(QualifiedTypeConstructorIdentifier
|
||||
(Identifier)
|
||||
(Identifier)))
|
||||
(ModuleIdentifier)
|
||||
(TypeConstructorIdentifier)))
|
||||
(Empty))))
|
||||
(GADTConstructor
|
||||
(Empty)
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
{ (TypeConstructorIdentifier)
|
||||
->(TypeConstructorIdentifier) }
|
||||
(FunctionType
|
||||
(Type
|
||||
(StrictType
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters))
|
||||
(TypeParameters)
|
||||
(Empty))
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters
|
||||
(Identifier))
|
||||
(TypeConstructorIdentifier))
|
||||
(Empty))))))
|
||||
(GADT
|
||||
(Empty)
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(Statements
|
||||
(AnnotatedTypeVariable
|
||||
(Identifier)
|
||||
(TypeVariableIdentifier)
|
||||
(KindListType
|
||||
(KindFunctionType
|
||||
(Kind
|
||||
@ -176,32 +176,32 @@
|
||||
(Kind
|
||||
(Star)))))
|
||||
(AnnotatedTypeVariable
|
||||
(Identifier)
|
||||
(TypeVariableIdentifier)
|
||||
(Star)))
|
||||
(Empty))
|
||||
(Statements
|
||||
(GADTConstructor
|
||||
(Empty)
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(Context
|
||||
(Pragma)
|
||||
(FunctionType
|
||||
(Type
|
||||
(StrictType
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
{ (TypeConstructorIdentifier)
|
||||
->(TypeConstructorIdentifier) }
|
||||
(TypeParameters))
|
||||
(TypeParameters)
|
||||
(Empty))
|
||||
(FunctionType
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeVariableIdentifier)
|
||||
(TypeParameters
|
||||
(Identifier))
|
||||
(TypeVariableIdentifier))
|
||||
(Empty))
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters
|
||||
(Identifier)
|
||||
(Identifier))
|
||||
(TypeVariableIdentifier)
|
||||
(TypeVariableIdentifier))
|
||||
(Empty))))))))))
|
||||
|
@ -4,83 +4,83 @@
|
||||
(GADT
|
||||
(Empty)
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(Statements
|
||||
(Identifier)
|
||||
(Identifier)
|
||||
(Identifier))
|
||||
(TypeVariableIdentifier)
|
||||
(TypeVariableIdentifier)
|
||||
(TypeVariableIdentifier))
|
||||
(Empty))
|
||||
(Statements
|
||||
(GADTConstructor
|
||||
(Empty)
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(FunctionType
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeVariableIdentifier)
|
||||
(TypeParameters)
|
||||
(Empty))
|
||||
(FunctionType
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeVariableIdentifier)
|
||||
(TypeParameters)
|
||||
(Empty))
|
||||
(FunctionType
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeVariableIdentifier)
|
||||
(TypeParameters)
|
||||
(Empty))
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters
|
||||
(Identifier)
|
||||
(Identifier)
|
||||
(Identifier))
|
||||
(TypeVariableIdentifier)
|
||||
(TypeVariableIdentifier)
|
||||
(TypeVariableIdentifier))
|
||||
(Empty))))))))
|
||||
(GADT
|
||||
(Empty)
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(Statements
|
||||
(Identifier)
|
||||
(Identifier))
|
||||
(TypeVariableIdentifier)
|
||||
(TypeVariableIdentifier))
|
||||
(Empty))
|
||||
(Statements
|
||||
(GADTConstructor
|
||||
(Empty)
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(FunctionType
|
||||
(Type
|
||||
(Statements
|
||||
(Field
|
||||
(Statements
|
||||
(Identifier))
|
||||
(VariableIdentifier))
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters
|
||||
(Identifier))
|
||||
(TypeConstructorIdentifier))
|
||||
(Empty)))
|
||||
(Field
|
||||
(Statements
|
||||
(Identifier))
|
||||
(VariableIdentifier))
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeVariableIdentifier)
|
||||
(TypeParameters
|
||||
(Identifier))
|
||||
(TypeVariableIdentifier))
|
||||
(Empty))))
|
||||
(TypeParameters)
|
||||
(Empty))
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters
|
||||
(Identifier)
|
||||
(Identifier))
|
||||
(TypeVariableIdentifier)
|
||||
(TypeVariableIdentifier))
|
||||
(Empty))))))
|
||||
(GADT
|
||||
(Empty)
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(Statements
|
||||
(Identifier))
|
||||
(TypeVariableIdentifier))
|
||||
(KindSignature
|
||||
(KindFunctionType
|
||||
(Kind
|
||||
@ -92,71 +92,71 @@
|
||||
(GADT
|
||||
(Empty)
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(Statements
|
||||
(Identifier))
|
||||
(TypeVariableIdentifier))
|
||||
(Empty))
|
||||
(Statements
|
||||
(GADTConstructor
|
||||
(Empty)
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(FunctionType
|
||||
(Type
|
||||
(StrictType
|
||||
(QualifiedTypeConstructorIdentifier
|
||||
(Identifier)
|
||||
(Identifier))
|
||||
(ModuleIdentifier)
|
||||
(TypeConstructorIdentifier))
|
||||
(TypeParameters))
|
||||
(TypeParameters)
|
||||
(Empty))
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters
|
||||
(QualifiedTypeConstructorIdentifier
|
||||
(Identifier)
|
||||
(Identifier)))
|
||||
(ModuleIdentifier)
|
||||
(TypeConstructorIdentifier)))
|
||||
(Empty))))
|
||||
(GADTConstructor
|
||||
(Empty)
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(FunctionType
|
||||
(Type
|
||||
(StrictType
|
||||
(QualifiedTypeConstructorIdentifier
|
||||
(Identifier)
|
||||
(Identifier))
|
||||
(ModuleIdentifier)
|
||||
(TypeConstructorIdentifier))
|
||||
(TypeParameters))
|
||||
(TypeParameters)
|
||||
(Empty))
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters
|
||||
(QualifiedTypeConstructorIdentifier
|
||||
(Identifier)
|
||||
(Identifier)))
|
||||
(ModuleIdentifier)
|
||||
(TypeConstructorIdentifier)))
|
||||
(Empty))))
|
||||
(GADTConstructor
|
||||
(Empty)
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(FunctionType
|
||||
(Type
|
||||
(StrictType
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters))
|
||||
(TypeParameters)
|
||||
(Empty))
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters
|
||||
(Identifier))
|
||||
(TypeConstructorIdentifier))
|
||||
(Empty))))))
|
||||
(GADT
|
||||
(Empty)
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(Statements
|
||||
(AnnotatedTypeVariable
|
||||
(Identifier)
|
||||
(TypeVariableIdentifier)
|
||||
(KindListType
|
||||
(KindFunctionType
|
||||
(Kind
|
||||
@ -164,31 +164,31 @@
|
||||
(Kind
|
||||
(Star)))))
|
||||
(AnnotatedTypeVariable
|
||||
(Identifier)
|
||||
(TypeVariableIdentifier)
|
||||
(Star)))
|
||||
(Empty))
|
||||
(Statements
|
||||
(GADTConstructor
|
||||
(Empty)
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(Context
|
||||
(Pragma)
|
||||
(FunctionType
|
||||
(Type
|
||||
(StrictType
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters))
|
||||
(TypeParameters)
|
||||
(Empty))
|
||||
(FunctionType
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeVariableIdentifier)
|
||||
(TypeParameters
|
||||
(Identifier))
|
||||
(TypeVariableIdentifier))
|
||||
(Empty))
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters
|
||||
(Identifier)
|
||||
(Identifier))
|
||||
(TypeVariableIdentifier)
|
||||
(TypeVariableIdentifier))
|
||||
(Empty))))))))))
|
||||
|
@ -4,83 +4,83 @@
|
||||
(GADT
|
||||
(Empty)
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(Statements
|
||||
(Identifier)
|
||||
(Identifier)
|
||||
(Identifier))
|
||||
(TypeVariableIdentifier)
|
||||
(TypeVariableIdentifier)
|
||||
(TypeVariableIdentifier))
|
||||
(Empty))
|
||||
(Statements
|
||||
(GADTConstructor
|
||||
(Empty)
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(FunctionType
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeVariableIdentifier)
|
||||
(TypeParameters)
|
||||
(Empty))
|
||||
(FunctionType
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeVariableIdentifier)
|
||||
(TypeParameters)
|
||||
(Empty))
|
||||
(FunctionType
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeVariableIdentifier)
|
||||
(TypeParameters)
|
||||
(Empty))
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters
|
||||
(Identifier)
|
||||
(Identifier)
|
||||
(Identifier))
|
||||
(TypeVariableIdentifier)
|
||||
(TypeVariableIdentifier)
|
||||
(TypeVariableIdentifier))
|
||||
(Empty))))))))
|
||||
(GADT
|
||||
(Empty)
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(Statements
|
||||
(Identifier)
|
||||
(Identifier))
|
||||
(TypeVariableIdentifier)
|
||||
(TypeVariableIdentifier))
|
||||
(Empty))
|
||||
(Statements
|
||||
(GADTConstructor
|
||||
(Empty)
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(FunctionType
|
||||
(Type
|
||||
(Statements
|
||||
(Field
|
||||
(Statements
|
||||
(Identifier))
|
||||
(VariableIdentifier))
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters
|
||||
(Identifier))
|
||||
(TypeConstructorIdentifier))
|
||||
(Empty)))
|
||||
(Field
|
||||
(Statements
|
||||
(Identifier))
|
||||
(VariableIdentifier))
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeVariableIdentifier)
|
||||
(TypeParameters
|
||||
(Identifier))
|
||||
(TypeVariableIdentifier))
|
||||
(Empty))))
|
||||
(TypeParameters)
|
||||
(Empty))
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters
|
||||
(Identifier)
|
||||
(Identifier))
|
||||
(TypeVariableIdentifier)
|
||||
(TypeVariableIdentifier))
|
||||
(Empty))))))
|
||||
(GADT
|
||||
(Empty)
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(Statements
|
||||
(Identifier))
|
||||
(TypeVariableIdentifier))
|
||||
(KindSignature
|
||||
(KindFunctionType
|
||||
(Kind
|
||||
@ -93,71 +93,71 @@
|
||||
(GADT
|
||||
(Empty)
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(Statements
|
||||
(Identifier))
|
||||
(TypeVariableIdentifier))
|
||||
(Empty))
|
||||
(Statements
|
||||
(GADTConstructor
|
||||
(Empty)
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(FunctionType
|
||||
(Type
|
||||
(StrictType
|
||||
(QualifiedTypeConstructorIdentifier
|
||||
(Identifier)
|
||||
(Identifier))
|
||||
(ModuleIdentifier)
|
||||
(TypeConstructorIdentifier))
|
||||
(TypeParameters))
|
||||
(TypeParameters)
|
||||
(Empty))
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters
|
||||
(QualifiedTypeConstructorIdentifier
|
||||
(Identifier)
|
||||
(Identifier)))
|
||||
(ModuleIdentifier)
|
||||
(TypeConstructorIdentifier)))
|
||||
(Empty))))
|
||||
(GADTConstructor
|
||||
(Empty)
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(FunctionType
|
||||
(Type
|
||||
(StrictType
|
||||
(QualifiedTypeConstructorIdentifier
|
||||
(Identifier)
|
||||
(Identifier))
|
||||
(ModuleIdentifier)
|
||||
(TypeConstructorIdentifier))
|
||||
(TypeParameters))
|
||||
(TypeParameters)
|
||||
(Empty))
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters
|
||||
(QualifiedTypeConstructorIdentifier
|
||||
(Identifier)
|
||||
(Identifier)))
|
||||
(ModuleIdentifier)
|
||||
(TypeConstructorIdentifier)))
|
||||
(Empty))))
|
||||
(GADTConstructor
|
||||
(Empty)
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(FunctionType
|
||||
(Type
|
||||
(StrictType
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters))
|
||||
(TypeParameters)
|
||||
(Empty))
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters
|
||||
(Identifier))
|
||||
(TypeConstructorIdentifier))
|
||||
(Empty))))))
|
||||
(GADT
|
||||
(Empty)
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(Statements
|
||||
(AnnotatedTypeVariable
|
||||
(Identifier)
|
||||
(TypeVariableIdentifier)
|
||||
(KindListType
|
||||
(KindFunctionType
|
||||
(Kind
|
||||
@ -165,31 +165,31 @@
|
||||
(Kind
|
||||
(Star)))))
|
||||
(AnnotatedTypeVariable
|
||||
(Identifier)
|
||||
(TypeVariableIdentifier)
|
||||
(Star)))
|
||||
(Empty))
|
||||
(Statements
|
||||
(GADTConstructor
|
||||
(Empty)
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(Context
|
||||
(Pragma)
|
||||
(FunctionType
|
||||
(Type
|
||||
(StrictType
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters))
|
||||
(TypeParameters)
|
||||
(Empty))
|
||||
(FunctionType
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeVariableIdentifier)
|
||||
(TypeParameters
|
||||
(Identifier))
|
||||
(TypeVariableIdentifier))
|
||||
(Empty))
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters
|
||||
(Identifier)
|
||||
(Identifier))
|
||||
(TypeVariableIdentifier)
|
||||
(TypeVariableIdentifier))
|
||||
(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
|
||||
(Identifier)
|
||||
(ModuleIdentifier)
|
||||
(Statements
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Integer)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Integer)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Integer)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Integer)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Integer)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Integer)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Float)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Float)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Float)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Float)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Float)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Float)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Float)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Float)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Float)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Float)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Float)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Float)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Float)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Float)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Identifier)+})+})+}
|
||||
{+(VariableIdentifier)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Identifier)+})+})+}
|
||||
{+(VariableIdentifier)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Identifier)+})+})+}
|
||||
{+(VariableIdentifier)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Identifier)+})+})+}
|
||||
{+(VariableIdentifier)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Identifier)+})+})+}
|
||||
{+(VariableIdentifier)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Identifier)+})+})+}
|
||||
{+(VariableIdentifier)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Identifier)+})+})+}
|
||||
{+(VariableIdentifier)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Identifier)+})+})+}
|
||||
{+(ConstructorIdentifier)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Identifier)+})+})+}
|
||||
{+(ConstructorIdentifier)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Character)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Character)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Character)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Character)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Character)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Character)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Character)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Character)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Character)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Character)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Character)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Character)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Character)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Character)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Character)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Character)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Character)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Character)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Character)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Character)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Character)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Character)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Character)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Character)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Character)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Character)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Character)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Array
|
||||
{+(TextElement)+}
|
||||
@ -264,231 +264,231 @@
|
||||
{+(TextElement)+}
|
||||
{+(TextElement)+})+})+})+}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Integer)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Integer)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Integer)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Integer)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Integer)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Integer)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Float)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Float)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Float)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Float)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Float)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Float)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Float)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Float)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Float)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Float)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Float)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Float)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Float)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Float)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Identifier)-})-})-}
|
||||
{-(VariableIdentifier)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Identifier)-})-})-}
|
||||
{-(VariableIdentifier)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Identifier)-})-})-}
|
||||
{-(VariableIdentifier)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Identifier)-})-})-}
|
||||
{-(VariableIdentifier)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Identifier)-})-})-}
|
||||
{-(VariableIdentifier)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Identifier)-})-})-}
|
||||
{-(VariableIdentifier)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Identifier)-})-})-}
|
||||
{-(VariableIdentifier)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Identifier)-})-})-}
|
||||
{-(ConstructorIdentifier)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Identifier)-})-})-}
|
||||
{-(ConstructorIdentifier)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Character)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Character)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Character)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Character)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Character)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Character)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Character)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Character)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Character)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Character)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Character)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Character)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Character)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Character)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Character)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Character)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Character)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Character)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Character)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Character)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Character)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Character)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Character)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Character)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Character)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Character)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Character)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Array
|
||||
{-(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
|
||||
(Identifier)
|
||||
(ModuleIdentifier)
|
||||
(Statements
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Integer)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Integer)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Integer)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Integer)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Integer)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Integer)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Float)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Float)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Float)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Float)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Float)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Float)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Float)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Float)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Float)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Float)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Float)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Float)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Float)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Float)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Identifier)+})+})+}
|
||||
{+(VariableIdentifier)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Identifier)+})+})+}
|
||||
{+(VariableIdentifier)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Identifier)+})+})+}
|
||||
{+(VariableIdentifier)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Identifier)+})+})+}
|
||||
{+(VariableIdentifier)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Identifier)+})+})+}
|
||||
{+(VariableIdentifier)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Identifier)+})+})+}
|
||||
{+(VariableIdentifier)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Identifier)+})+})+}
|
||||
{+(VariableIdentifier)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Identifier)+})+})+}
|
||||
{+(ConstructorIdentifier)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Identifier)+})+})+}
|
||||
{+(ConstructorIdentifier)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Character)+})+})+}
|
||||
(Function
|
||||
{ (VariableIdentifier)
|
||||
->(VariableIdentifier) }
|
||||
(Statements
|
||||
{+(Character)+}
|
||||
{-(Integer)-}))
|
||||
{+(Function
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Character)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Character)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Character)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Character)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Character)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Character)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Character)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Character)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Character)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Character)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Character)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Character)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Character)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Character)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Character)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Character)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Character)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Character)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Character)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Character)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Character)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Character)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Character)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Character)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Character)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(Statements
|
||||
{+(Character)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(Statements
|
||||
{+(Character)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Array
|
||||
{+(TextElement)+}
|
||||
@ -264,231 +266,227 @@
|
||||
{+(TextElement)+}
|
||||
{+(TextElement)+})+})+})+}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Integer)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Integer)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Integer)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Integer)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Integer)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(Statements
|
||||
{-(Integer)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Float)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Float)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Float)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Float)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Float)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Float)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Float)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Float)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Float)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Float)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Float)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Float)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Float)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Float)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Identifier)-})-})-}
|
||||
{-(VariableIdentifier)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Identifier)-})-})-}
|
||||
{-(VariableIdentifier)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Identifier)-})-})-}
|
||||
{-(VariableIdentifier)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Identifier)-})-})-}
|
||||
{-(VariableIdentifier)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Identifier)-})-})-}
|
||||
{-(VariableIdentifier)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Identifier)-})-})-}
|
||||
{-(VariableIdentifier)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Identifier)-})-})-}
|
||||
{-(VariableIdentifier)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Identifier)-})-})-}
|
||||
{-(ConstructorIdentifier)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Identifier)-})-})-}
|
||||
{-(ConstructorIdentifier)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Character)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Character)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Character)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Character)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Character)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Character)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Character)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Character)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Character)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Character)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Character)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Character)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Character)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Character)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Character)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Character)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Character)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Character)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Character)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Character)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Character)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Character)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Character)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Character)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Character)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Character)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Character)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Array
|
||||
{-(TextElement)-}
|
||||
|
134
test/fixtures/haskell/corpus/literals.parseA.txt
vendored
134
test/fixtures/haskell/corpus/literals.parseA.txt
vendored
@ -1,232 +1,232 @@
|
||||
(Module
|
||||
(Identifier)
|
||||
(ModuleIdentifier)
|
||||
(Statements
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Integer)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Integer)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Integer)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Integer)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Integer)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Integer)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Float)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Float)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Float)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Float)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Float)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Float)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Float)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Float)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Float)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Float)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Float)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Float)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Float)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Float)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Identifier)))
|
||||
(VariableIdentifier)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Identifier)))
|
||||
(VariableIdentifier)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Identifier)))
|
||||
(VariableIdentifier)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Identifier)))
|
||||
(VariableIdentifier)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Identifier)))
|
||||
(VariableIdentifier)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Identifier)))
|
||||
(VariableIdentifier)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Identifier)))
|
||||
(VariableIdentifier)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Identifier)))
|
||||
(ConstructorIdentifier)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Identifier)))
|
||||
(ConstructorIdentifier)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Character)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Character)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Character)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Character)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Character)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Character)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Character)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Character)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Character)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Character)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Character)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Character)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Character)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Character)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Character)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Character)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Character)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Character)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Character)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Character)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Character)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Character)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Character)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Character)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Character)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Character)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Character)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Array
|
||||
(TextElement)
|
||||
|
134
test/fixtures/haskell/corpus/literals.parseB.txt
vendored
134
test/fixtures/haskell/corpus/literals.parseB.txt
vendored
@ -1,232 +1,232 @@
|
||||
(Module
|
||||
(Identifier)
|
||||
(ModuleIdentifier)
|
||||
(Statements
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Integer)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Integer)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Integer)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Integer)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Integer)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Integer)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Float)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Float)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Float)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Float)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Float)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Float)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Float)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Float)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Float)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Float)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Float)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Float)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Float)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Float)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Identifier)))
|
||||
(VariableIdentifier)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Identifier)))
|
||||
(VariableIdentifier)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Identifier)))
|
||||
(VariableIdentifier)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Identifier)))
|
||||
(VariableIdentifier)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Identifier)))
|
||||
(VariableIdentifier)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Identifier)))
|
||||
(VariableIdentifier)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Identifier)))
|
||||
(VariableIdentifier)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Identifier)))
|
||||
(ConstructorIdentifier)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Identifier)))
|
||||
(ConstructorIdentifier)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Character)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Character)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Character)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Character)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Character)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Character)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Character)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Character)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Character)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Character)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Character)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Character)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Character)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Character)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Character)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Character)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Character)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Character)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Character)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Character)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Character)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Character)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Character)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Character)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Character)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Character)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Character)))
|
||||
(Function
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Statements
|
||||
(Array
|
||||
(TextElement)
|
||||
|
@ -1,4 +1,4 @@
|
||||
(Module
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
{ (ModuleIdentifier)
|
||||
->(ModuleIdentifier) }
|
||||
(Statements))
|
||||
|
@ -1,4 +1,4 @@
|
||||
(Module
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
{ (ModuleIdentifier)
|
||||
->(ModuleIdentifier) }
|
||||
(Statements))
|
||||
|
@ -1,3 +1,3 @@
|
||||
(Module
|
||||
(Identifier)
|
||||
(ModuleIdentifier)
|
||||
(Statements))
|
||||
|
@ -1,3 +1,3 @@
|
||||
(Module
|
||||
(Identifier)
|
||||
(ModuleIdentifier)
|
||||
(Statements))
|
||||
|
@ -1,4 +1,4 @@
|
||||
(Module
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
{ (ModuleIdentifier)
|
||||
->(ModuleIdentifier) }
|
||||
(Statements))
|
||||
|
@ -1,4 +1,4 @@
|
||||
(Module
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
{ (ModuleIdentifier)
|
||||
->(ModuleIdentifier) }
|
||||
(Statements))
|
||||
|
@ -1,3 +1,3 @@
|
||||
(Module
|
||||
(Identifier)
|
||||
(ModuleIdentifier)
|
||||
(Statements))
|
||||
|
@ -1,3 +1,3 @@
|
||||
(Module
|
||||
(Identifier)
|
||||
(ModuleIdentifier)
|
||||
(Statements))
|
||||
|
@ -2,8 +2,8 @@
|
||||
(Empty)
|
||||
(Statements
|
||||
(QualifiedModuleIdentifier
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
{ (Identifier)
|
||||
->(Identifier) })
|
||||
{ (ModuleIdentifier)
|
||||
->(ModuleIdentifier) }
|
||||
{ (ModuleIdentifier)
|
||||
->(ModuleIdentifier) })
|
||||
(Statements)))
|
||||
|
@ -2,8 +2,8 @@
|
||||
(Empty)
|
||||
(Statements
|
||||
(QualifiedModuleIdentifier
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
{ (Identifier)
|
||||
->(Identifier) })
|
||||
{ (ModuleIdentifier)
|
||||
->(ModuleIdentifier) }
|
||||
{ (ModuleIdentifier)
|
||||
->(ModuleIdentifier) })
|
||||
(Statements)))
|
||||
|
@ -2,6 +2,6 @@
|
||||
(Empty)
|
||||
(Statements
|
||||
(QualifiedModuleIdentifier
|
||||
(Identifier)
|
||||
(Identifier))
|
||||
(ModuleIdentifier)
|
||||
(ModuleIdentifier))
|
||||
(Statements)))
|
||||
|
@ -2,6 +2,6 @@
|
||||
(Empty)
|
||||
(Statements
|
||||
(QualifiedModuleIdentifier
|
||||
(Identifier)
|
||||
(Identifier))
|
||||
(ModuleIdentifier)
|
||||
(ModuleIdentifier))
|
||||
(Statements)))
|
||||
|
@ -1,12 +1,12 @@
|
||||
(Module
|
||||
(Identifier)
|
||||
(ModuleIdentifier)
|
||||
(Export
|
||||
(TypeConstructorExport
|
||||
(VariableOperator
|
||||
{ (Identifier)
|
||||
->(Identifier) })))
|
||||
{ (VariableSymbol)
|
||||
->(VariableSymbol) })))
|
||||
(Export
|
||||
(VariableOperator
|
||||
{ (Identifier)
|
||||
->(Identifier) }))
|
||||
{ (VariableSymbol)
|
||||
->(VariableSymbol) }))
|
||||
(Statements))
|
||||
|
@ -1,12 +1,12 @@
|
||||
(Module
|
||||
(Identifier)
|
||||
(ModuleIdentifier)
|
||||
(Export
|
||||
(TypeConstructorExport
|
||||
(VariableOperator
|
||||
{ (Identifier)
|
||||
->(Identifier) })))
|
||||
{ (VariableSymbol)
|
||||
->(VariableSymbol) })))
|
||||
(Export
|
||||
(VariableOperator
|
||||
{ (Identifier)
|
||||
->(Identifier) }))
|
||||
{ (VariableSymbol)
|
||||
->(VariableSymbol) }))
|
||||
(Statements))
|
||||
|
@ -1,10 +1,10 @@
|
||||
(Module
|
||||
(Identifier)
|
||||
(ModuleIdentifier)
|
||||
(Export
|
||||
(TypeConstructorExport
|
||||
(VariableOperator
|
||||
(Identifier))))
|
||||
(VariableSymbol))))
|
||||
(Export
|
||||
(VariableOperator
|
||||
(Identifier)))
|
||||
(VariableSymbol)))
|
||||
(Statements))
|
||||
|
@ -1,10 +1,10 @@
|
||||
(Module
|
||||
(Identifier)
|
||||
(ModuleIdentifier)
|
||||
(Export
|
||||
(TypeConstructorExport
|
||||
(VariableOperator
|
||||
(Identifier))))
|
||||
(VariableSymbol))))
|
||||
(Export
|
||||
(VariableOperator
|
||||
(Identifier)))
|
||||
(VariableSymbol)))
|
||||
(Statements))
|
||||
|
@ -1,28 +1,28 @@
|
||||
(Module
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
{ (ModuleIdentifier)
|
||||
->(ModuleIdentifier) }
|
||||
(Export
|
||||
(Statements
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(AllConstructors)))
|
||||
(Export
|
||||
(TypeConstructorExport
|
||||
(ConstructorOperator
|
||||
{ (Identifier)
|
||||
->(Identifier) })))
|
||||
{ (ConstructorSymbol)
|
||||
->(ConstructorSymbol) })))
|
||||
(Export
|
||||
(TypeConstructorExport
|
||||
(VariableOperator
|
||||
{ (Identifier)
|
||||
->(Identifier) })))
|
||||
{ (VariableSymbol)
|
||||
->(VariableSymbol) })))
|
||||
(Export
|
||||
(Identifier))
|
||||
(VariableIdentifier))
|
||||
(Export
|
||||
(ModuleExport
|
||||
{ (Identifier)
|
||||
->(Identifier) }))
|
||||
{ (ModuleIdentifier)
|
||||
->(ModuleIdentifier) }))
|
||||
(Export
|
||||
(TypeConstructorExport
|
||||
{ (Identifier)
|
||||
->(Identifier) }))
|
||||
{ (ConstructorIdentifier)
|
||||
->(ConstructorIdentifier) }))
|
||||
(Statements))
|
||||
|
@ -1,28 +1,28 @@
|
||||
(Module
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
{ (ModuleIdentifier)
|
||||
->(ModuleIdentifier) }
|
||||
(Export
|
||||
(Statements
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(AllConstructors)))
|
||||
(Export
|
||||
(TypeConstructorExport
|
||||
(ConstructorOperator
|
||||
{ (Identifier)
|
||||
->(Identifier) })))
|
||||
{ (ConstructorSymbol)
|
||||
->(ConstructorSymbol) })))
|
||||
(Export
|
||||
(TypeConstructorExport
|
||||
(VariableOperator
|
||||
{ (Identifier)
|
||||
->(Identifier) })))
|
||||
{ (VariableSymbol)
|
||||
->(VariableSymbol) })))
|
||||
(Export
|
||||
(Identifier))
|
||||
(VariableIdentifier))
|
||||
(Export
|
||||
(ModuleExport
|
||||
{ (Identifier)
|
||||
->(Identifier) }))
|
||||
{ (ModuleIdentifier)
|
||||
->(ModuleIdentifier) }))
|
||||
(Export
|
||||
(TypeConstructorExport
|
||||
{ (Identifier)
|
||||
->(Identifier) }))
|
||||
{ (ConstructorIdentifier)
|
||||
->(ConstructorIdentifier) }))
|
||||
(Statements))
|
||||
|
@ -1,23 +1,23 @@
|
||||
(Module
|
||||
(Identifier)
|
||||
(ModuleIdentifier)
|
||||
(Export
|
||||
(Statements
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(AllConstructors)))
|
||||
(Export
|
||||
(TypeConstructorExport
|
||||
(ConstructorOperator
|
||||
(Identifier))))
|
||||
(ConstructorSymbol))))
|
||||
(Export
|
||||
(TypeConstructorExport
|
||||
(VariableOperator
|
||||
(Identifier))))
|
||||
(VariableSymbol))))
|
||||
(Export
|
||||
(Identifier))
|
||||
(VariableIdentifier))
|
||||
(Export
|
||||
(ModuleExport
|
||||
(Identifier)))
|
||||
(ModuleIdentifier)))
|
||||
(Export
|
||||
(TypeConstructorExport
|
||||
(Identifier)))
|
||||
(ConstructorIdentifier)))
|
||||
(Statements))
|
||||
|
@ -1,23 +1,23 @@
|
||||
(Module
|
||||
(Identifier)
|
||||
(ModuleIdentifier)
|
||||
(Export
|
||||
(Statements
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(AllConstructors)))
|
||||
(Export
|
||||
(TypeConstructorExport
|
||||
(ConstructorOperator
|
||||
(Identifier))))
|
||||
(ConstructorSymbol))))
|
||||
(Export
|
||||
(TypeConstructorExport
|
||||
(VariableOperator
|
||||
(Identifier))))
|
||||
(VariableSymbol))))
|
||||
(Export
|
||||
(Identifier))
|
||||
(VariableIdentifier))
|
||||
(Export
|
||||
(ModuleExport
|
||||
(Identifier)))
|
||||
(ModuleIdentifier)))
|
||||
(Export
|
||||
(TypeConstructorExport
|
||||
(Identifier)))
|
||||
(ConstructorIdentifier)))
|
||||
(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
|
||||
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
|
||||
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)
|
||||
(Statements
|
||||
(TypeSignature
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
{ (VariableIdentifier)
|
||||
->(VariableIdentifier) }
|
||||
(FunctionType
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeVariableIdentifier)
|
||||
(TypeParameters)
|
||||
(Empty))
|
||||
(FunctionType
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeVariableIdentifier)
|
||||
(TypeParameters)
|
||||
(Empty))
|
||||
(FunctionType
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeVariableIdentifier)
|
||||
(TypeParameters)
|
||||
(Empty))
|
||||
(FunctionType
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters)
|
||||
(Empty))
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters
|
||||
(Identifier))
|
||||
(TypeConstructorIdentifier))
|
||||
(Empty)))))))
|
||||
{+(TypeSignature
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Context'
|
||||
{+(Class
|
||||
{+(Identifier)+}
|
||||
{+(TypeParameters
|
||||
{+(Identifier)+})+})+})+}
|
||||
{+(Statements
|
||||
{+(Class
|
||||
{+(TypeClassIdentifier)+}
|
||||
{+(TypeParameters
|
||||
{+(TypeVariableIdentifier)+})+})+})+})+}
|
||||
{+(FunctionType
|
||||
{+(Type
|
||||
{+(Identifier)+}
|
||||
{+(TypeVariableIdentifier)+}
|
||||
{+(TypeParameters)+}
|
||||
{+(Empty)+})+}
|
||||
{+(Type
|
||||
{+(Identifier)+}
|
||||
{+(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)+})+})+})+})+})+}
|
||||
{-(TypeSignature
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(FunctionType
|
||||
{-(Type
|
||||
{-(Identifier)-}
|
||||
{-(TypeVariableIdentifier)-}
|
||||
{-(TypeParameters)-}
|
||||
{-(Empty)-})-}
|
||||
{-(FunctionType
|
||||
{-(Type
|
||||
{-(Identifier)-}
|
||||
{-(TypeVariableIdentifier)-}
|
||||
{-(TypeParameters)-}
|
||||
{-(Empty)-})-}
|
||||
{-(FunctionType
|
||||
{-(Type
|
||||
{-(Identifier)-}
|
||||
{-(TypeVariableIdentifier)-}
|
||||
{-(TypeParameters)-}
|
||||
{-(Empty)-})-}
|
||||
{-(FunctionType
|
||||
{-(Type
|
||||
{-(Array
|
||||
{-(Type
|
||||
{-(Identifier)-}
|
||||
{-(TypeConstructorIdentifier)-}
|
||||
{-(TypeParameters)-}
|
||||
{-(Empty)-})-})-}
|
||||
{-(TypeParameters)-}
|
||||
{-(Empty)-})-}
|
||||
{-(Type
|
||||
{-(Identifier)-}
|
||||
{-(TypeConstructorIdentifier)-}
|
||||
{-(TypeParameters
|
||||
{-(Identifier)-})-}
|
||||
{-(TypeConstructorIdentifier)-})-}
|
||||
{-(Empty)-})-})-})-})-})-})-}
|
||||
{-(TypeSignature
|
||||
{-(Identifier)-}
|
||||
{-(VariableIdentifier)-}
|
||||
{-(Context'
|
||||
{-(Class
|
||||
{-(Identifier)-}
|
||||
{-(TypeParameters
|
||||
{-(Identifier)-})-})-})-}
|
||||
{-(Statements
|
||||
{-(Class
|
||||
{-(TypeClassIdentifier)-}
|
||||
{-(TypeParameters
|
||||
{-(TypeVariableIdentifier)-})-})-})-})-}
|
||||
{-(Context'
|
||||
{-(Class
|
||||
{-(Identifier)-}
|
||||
{-(TypeParameters
|
||||
{-(Identifier)-})-})-})-}
|
||||
{-(Statements
|
||||
{-(Class
|
||||
{-(TypeClassIdentifier)-}
|
||||
{-(TypeParameters
|
||||
{-(TypeVariableIdentifier)-})-})-})-})-}
|
||||
{-(FunctionType
|
||||
{-(Type
|
||||
{-(Identifier)-}
|
||||
{-(TypeVariableIdentifier)-}
|
||||
{-(TypeParameters)-}
|
||||
{-(Empty)-})-}
|
||||
{-(Type
|
||||
{-(Identifier)-}
|
||||
{-(TypeVariableIdentifier)-}
|
||||
{-(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)
|
||||
(Statements
|
||||
(TypeSignature
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
{ (VariableIdentifier)
|
||||
->(VariableIdentifier) }
|
||||
(FunctionType
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeVariableIdentifier)
|
||||
(TypeParameters)
|
||||
(Empty))
|
||||
(FunctionType
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeVariableIdentifier)
|
||||
(TypeParameters)
|
||||
(Empty))
|
||||
(FunctionType
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeVariableIdentifier)
|
||||
(TypeParameters)
|
||||
(Empty))
|
||||
(FunctionType
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters)
|
||||
(Empty))
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters
|
||||
(Identifier))
|
||||
(TypeConstructorIdentifier))
|
||||
(Empty)))))))
|
||||
{+(TypeSignature
|
||||
{+(Identifier)+}
|
||||
{+(VariableIdentifier)+}
|
||||
{+(FunctionType
|
||||
{+(Type
|
||||
{+(Identifier)+}
|
||||
{+(TypeVariableIdentifier)+}
|
||||
{+(TypeParameters)+}
|
||||
{+(Empty)+})+}
|
||||
{+(FunctionType
|
||||
{+(Type
|
||||
{+(Identifier)+}
|
||||
{+(TypeVariableIdentifier)+}
|
||||
{+(TypeParameters)+}
|
||||
{+(Empty)+})+}
|
||||
{+(FunctionType
|
||||
{+(Type
|
||||
{+(Identifier)+}
|
||||
{+(TypeVariableIdentifier)+}
|
||||
{+(TypeParameters)+}
|
||||
{+(Empty)+})+}
|
||||
{+(FunctionType
|
||||
{+(Type
|
||||
{+(Array
|
||||
{+(Type
|
||||
{+(Identifier)+}
|
||||
{+(TypeConstructorIdentifier)+}
|
||||
{+(TypeParameters)+}
|
||||
{+(Empty)+})+})+}
|
||||
{+(TypeParameters)+}
|
||||
{+(Empty)+})+}
|
||||
{+(Type
|
||||
{+(Identifier)+}
|
||||
{+(TypeConstructorIdentifier)+}
|
||||
{+(TypeParameters
|
||||
{+(Identifier)+})+}
|
||||
{+(TypeConstructorIdentifier)+})+}
|
||||
{+(Empty)+})+})+})+})+})+})+}
|
||||
(TypeSignature
|
||||
(Identifier)
|
||||
(Context'
|
||||
(Class
|
||||
(Identifier)
|
||||
(TypeParameters
|
||||
(Identifier))))
|
||||
{+(TypeSignature
|
||||
{+(VariableIdentifier)+}
|
||||
{+(Context'
|
||||
{+(Class
|
||||
{+(Identifier)+}
|
||||
{+(TypeParameters
|
||||
{+(Identifier)+})+})+})+}
|
||||
{+(Statements
|
||||
{+(Class
|
||||
{+(TypeClassIdentifier)+}
|
||||
{+(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
|
||||
(Type
|
||||
(Identifier)
|
||||
{ (TypeVariableIdentifier)
|
||||
->(Array
|
||||
{+(Type
|
||||
{+(TypeConstructorIdentifier)+}
|
||||
{+(TypeParameters)+}
|
||||
{+(Empty)+})+}) }
|
||||
(TypeParameters)
|
||||
(Empty))
|
||||
(Type
|
||||
(Identifier)
|
||||
{ (TypeVariableIdentifier)
|
||||
->(TypeConstructorIdentifier) }
|
||||
(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)
|
||||
(Statements
|
||||
(TypeSignature
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(FunctionType
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeVariableIdentifier)
|
||||
(TypeParameters)
|
||||
(Empty))
|
||||
(FunctionType
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeVariableIdentifier)
|
||||
(TypeParameters)
|
||||
(Empty))
|
||||
(FunctionType
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeVariableIdentifier)
|
||||
(TypeParameters)
|
||||
(Empty))
|
||||
(FunctionType
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters)
|
||||
(Empty))
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters
|
||||
(Identifier))
|
||||
(TypeConstructorIdentifier))
|
||||
(Empty)))))))
|
||||
(TypeSignature
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(FunctionType
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeVariableIdentifier)
|
||||
(TypeParameters)
|
||||
(Empty))
|
||||
(FunctionType
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeVariableIdentifier)
|
||||
(TypeParameters)
|
||||
(Empty))
|
||||
(FunctionType
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeVariableIdentifier)
|
||||
(TypeParameters)
|
||||
(Empty))
|
||||
(FunctionType
|
||||
(Type
|
||||
(Array
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters)
|
||||
(Empty)))
|
||||
(TypeParameters)
|
||||
(Empty))
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters
|
||||
(Identifier))
|
||||
(TypeConstructorIdentifier))
|
||||
(Empty)))))))
|
||||
(TypeSignature
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Context'
|
||||
(Class
|
||||
(Identifier)
|
||||
(TypeParameters
|
||||
(Identifier))))
|
||||
(Statements
|
||||
(Class
|
||||
(TypeClassIdentifier)
|
||||
(TypeParameters
|
||||
(TypeVariableIdentifier)))))
|
||||
(Context'
|
||||
(Class
|
||||
(Identifier)
|
||||
(TypeParameters
|
||||
(Identifier))))
|
||||
(Statements
|
||||
(Class
|
||||
(TypeClassIdentifier)
|
||||
(TypeParameters
|
||||
(TypeVariableIdentifier)))))
|
||||
(FunctionType
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeVariableIdentifier)
|
||||
(TypeParameters)
|
||||
(Empty))
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeVariableIdentifier)
|
||||
(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)
|
||||
(Statements
|
||||
(TypeSignature
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(FunctionType
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeVariableIdentifier)
|
||||
(TypeParameters)
|
||||
(Empty))
|
||||
(FunctionType
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeVariableIdentifier)
|
||||
(TypeParameters)
|
||||
(Empty))
|
||||
(FunctionType
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeVariableIdentifier)
|
||||
(TypeParameters)
|
||||
(Empty))
|
||||
(FunctionType
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters)
|
||||
(Empty))
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters
|
||||
(Identifier))
|
||||
(TypeConstructorIdentifier))
|
||||
(Empty)))))))
|
||||
(TypeSignature
|
||||
(Identifier)
|
||||
(VariableIdentifier)
|
||||
(Context'
|
||||
(Class
|
||||
(Identifier)
|
||||
(TypeParameters
|
||||
(Identifier))))
|
||||
(Statements
|
||||
(Class
|
||||
(TypeClassIdentifier)
|
||||
(TypeParameters
|
||||
(TypeVariableIdentifier)))))
|
||||
(FunctionType
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeVariableIdentifier)
|
||||
(TypeParameters)
|
||||
(Empty))
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeVariableIdentifier)
|
||||
(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
|
||||
(TypeSynonym
|
||||
(Statements
|
||||
{ (Identifier)
|
||||
->(Identifier) })
|
||||
{ (TypeConstructorIdentifier)
|
||||
->(TypeConstructorIdentifier) })
|
||||
(TypePattern
|
||||
{ (Identifier)
|
||||
->(Identifier) }))
|
||||
{ (TypeConstructorIdentifier)
|
||||
->(TypeConstructorIdentifier) }))
|
||||
(TypeSynonym
|
||||
(Statements
|
||||
{ (Identifier)
|
||||
->(Identifier) })
|
||||
{ (TypeConstructorIdentifier)
|
||||
->(TypeConstructorIdentifier) })
|
||||
(TypePattern
|
||||
(ListConstructor)))
|
||||
(TypeSynonym
|
||||
(Statements
|
||||
(Identifier)
|
||||
(Identifier)
|
||||
{+(Identifier)+})
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeVariableIdentifier)
|
||||
{+(TypeVariableIdentifier)+})
|
||||
(TypePattern
|
||||
(Statements
|
||||
(Identifier)
|
||||
(Identifier)
|
||||
{+(Identifier)+})))
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeVariableIdentifier)
|
||||
{+(TypeVariableIdentifier)+})))
|
||||
(TypeSynonym
|
||||
(Statements
|
||||
(Identifier)
|
||||
(Identifier))
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeVariableIdentifier))
|
||||
(TypePattern
|
||||
(Array
|
||||
(Type
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
{ (TypeConstructorIdentifier)
|
||||
->(TypeConstructorIdentifier) }
|
||||
(TypeParameters
|
||||
(Identifier))
|
||||
(TypeVariableIdentifier))
|
||||
(Empty)))))
|
||||
(TypeSynonym
|
||||
(Statements
|
||||
{ (Identifier)
|
||||
->(Identifier) })
|
||||
{ (TypeConstructorIdentifier)
|
||||
->(TypeConstructorIdentifier) })
|
||||
(TypePattern
|
||||
(UnitConstructor)))
|
||||
{-(TypeSynonym
|
||||
{-(Statements
|
||||
{-(Identifier)-})-}
|
||||
{-(TypeConstructorIdentifier)-})-}
|
||||
{-(TypePattern
|
||||
{-(TupleConstructor)-})-})-}
|
||||
(TypeSynonym
|
||||
(Statements
|
||||
(Identifier))
|
||||
(TypeConstructorIdentifier))
|
||||
(TypePattern
|
||||
(TupleConstructor)))
|
||||
(TypeSynonym
|
||||
(Statements
|
||||
(Identifier))
|
||||
(TypePattern
|
||||
{ (FunctionConstructor)
|
||||
->(TupleConstructor) }))
|
||||
{+(TypeSynonym
|
||||
{+(Statements
|
||||
{+(Identifier)+})+}
|
||||
{+(TypeConstructorIdentifier)+})+}
|
||||
{+(TypePattern
|
||||
{+(FunctionConstructor)+})+})+}
|
||||
{+(TupleConstructor)+})+})+}
|
||||
(TypeSynonym
|
||||
(Statements
|
||||
(Identifier))
|
||||
{ (TypeConstructorIdentifier)
|
||||
->(TypeConstructorIdentifier) })
|
||||
(TypePattern
|
||||
(FunctionConstructor)))
|
||||
(TypeSynonym
|
||||
(Statements
|
||||
(TypeConstructorIdentifier))
|
||||
(TypePattern
|
||||
(InfixOperatorPattern
|
||||
(Type
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
{ (TypeConstructorIdentifier)
|
||||
->(TypeConstructorIdentifier) }
|
||||
(TypeParameters
|
||||
{+(Statements
|
||||
{+(Identifier)+}
|
||||
{+(Identifier)+})+})
|
||||
{+(TypeConstructorIdentifier)+}
|
||||
{+(TypeConstructorIdentifier)+})+})
|
||||
(Empty))
|
||||
(Identifier)
|
||||
(TypeOperator)
|
||||
(Type
|
||||
(InfixOperatorPattern
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters
|
||||
(Identifier))
|
||||
(TypeConstructorIdentifier))
|
||||
(Empty))
|
||||
(Identifier)
|
||||
(TypeOperator)
|
||||
(Type
|
||||
(InfixOperatorPattern
|
||||
(Type
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
{ (TypeConstructorIdentifier)
|
||||
->(TypeConstructorIdentifier) }
|
||||
(TypeParameters
|
||||
{-(Statements
|
||||
{-(Identifier)-}
|
||||
{-(Identifier)-})-})
|
||||
{-(TypeConstructorIdentifier)-}
|
||||
{-(TypeConstructorIdentifier)-})-})
|
||||
(Empty))
|
||||
(Identifier)
|
||||
(TypeOperator)
|
||||
(Type
|
||||
(QuotedName
|
||||
(ListConstructor))
|
||||
@ -107,84 +107,85 @@
|
||||
(Empty)))))
|
||||
(TypeSynonym
|
||||
(Statements
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
(Identifier)
|
||||
(Identifier)
|
||||
(Identifier))
|
||||
{ (TypeConstructorIdentifier)
|
||||
->(TypeConstructorIdentifier) }
|
||||
(TypeVariableIdentifier)
|
||||
(TypeVariableIdentifier)
|
||||
(TypeVariableIdentifier))
|
||||
(TypePattern
|
||||
(QuotedName
|
||||
(Array
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters)
|
||||
(Empty))
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters
|
||||
(Statements
|
||||
(Identifier)
|
||||
(Identifier)))
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeVariableIdentifier)))
|
||||
(Empty))))))
|
||||
(TypeSynonym
|
||||
(Statements
|
||||
{-(Identifier)-}
|
||||
(Identifier)
|
||||
{+(Identifier)+})
|
||||
{-(TypeConstructorIdentifier)-}
|
||||
(TypeConstructorIdentifier)
|
||||
{+(TypeConstructorIdentifier)+})
|
||||
(TextElement))
|
||||
(TypeSynonym
|
||||
(Statements
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
{ (TypeConstructorIdentifier)
|
||||
->(TypeConstructorIdentifier) }
|
||||
(Statements
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
(Identifier)
|
||||
(Identifier)))
|
||||
{ (TypeConstructorIdentifier)
|
||||
->(TypeConstructorIdentifier) }
|
||||
(TypeVariableIdentifier)
|
||||
(TypeVariableIdentifier)))
|
||||
(TypePattern
|
||||
(Statements
|
||||
(Identifier)
|
||||
(Identifier)
|
||||
(Identifier))))
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeVariableIdentifier)
|
||||
(TypeVariableIdentifier))))
|
||||
(TypeSynonym
|
||||
(Statements
|
||||
{ (Identifier)
|
||||
->(Identifier) })
|
||||
{ (TypeConstructorIdentifier)
|
||||
->(TypeConstructorIdentifier) })
|
||||
(Context'
|
||||
(Identifier))
|
||||
(Statements
|
||||
(TypeConstructorIdentifier)))
|
||||
(TypePattern
|
||||
(Statements
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
{ (TypeConstructorIdentifier)
|
||||
->(TypeConstructorIdentifier) }
|
||||
(ListConstructor))))
|
||||
(TypeSynonym
|
||||
(Statements
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
(Identifier)
|
||||
(Identifier))
|
||||
{ (TypeConstructorIdentifier)
|
||||
->(TypeConstructorIdentifier) }
|
||||
(TypeVariableIdentifier)
|
||||
(TypeVariableIdentifier))
|
||||
(ScopedTypeVariables
|
||||
(Statements
|
||||
(Identifier)
|
||||
(Identifier)))
|
||||
(TypeVariableIdentifier)
|
||||
(TypeVariableIdentifier)))
|
||||
(TypePattern
|
||||
(Statements
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
(Identifier)
|
||||
(Identifier))))
|
||||
{ (TypeConstructorIdentifier)
|
||||
->(TypeConstructorIdentifier) }
|
||||
(TypeVariableIdentifier)
|
||||
(TypeVariableIdentifier))))
|
||||
(TypeSynonym
|
||||
(Statements
|
||||
(Statements
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
(Identifier)
|
||||
(Identifier)))
|
||||
{ (TypeConstructorIdentifier)
|
||||
->(TypeConstructorIdentifier) }
|
||||
(TypeVariableIdentifier)
|
||||
(TypeVariableIdentifier)))
|
||||
(TypePattern
|
||||
(Statements
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(Statements
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
(Identifier)
|
||||
(Identifier)))))))
|
||||
{ (TypeConstructorIdentifier)
|
||||
->(TypeConstructorIdentifier) }
|
||||
(TypeVariableIdentifier)
|
||||
(TypeVariableIdentifier)))))))
|
||||
|
@ -3,89 +3,88 @@
|
||||
(Statements
|
||||
(TypeSynonym
|
||||
(Statements
|
||||
{ (Identifier)
|
||||
->(Identifier) })
|
||||
{ (TypeConstructorIdentifier)
|
||||
->(TypeConstructorIdentifier) })
|
||||
(TypePattern
|
||||
{ (Identifier)
|
||||
->(Identifier) }))
|
||||
{ (TypeConstructorIdentifier)
|
||||
->(TypeConstructorIdentifier) }))
|
||||
(TypeSynonym
|
||||
(Statements
|
||||
{ (Identifier)
|
||||
->(Identifier) })
|
||||
{ (TypeConstructorIdentifier)
|
||||
->(TypeConstructorIdentifier) })
|
||||
(TypePattern
|
||||
(ListConstructor)))
|
||||
(TypeSynonym
|
||||
(Statements
|
||||
(Identifier)
|
||||
(Identifier)
|
||||
{-(Identifier)-})
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeVariableIdentifier)
|
||||
{-(TypeVariableIdentifier)-})
|
||||
(TypePattern
|
||||
(Statements
|
||||
(Identifier)
|
||||
(Identifier)
|
||||
{-(Identifier)-})))
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeVariableIdentifier)
|
||||
{-(TypeVariableIdentifier)-})))
|
||||
(TypeSynonym
|
||||
(Statements
|
||||
(Identifier)
|
||||
(Identifier))
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeVariableIdentifier))
|
||||
(TypePattern
|
||||
(Array
|
||||
(Type
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
{ (TypeConstructorIdentifier)
|
||||
->(TypeConstructorIdentifier) }
|
||||
(TypeParameters
|
||||
(Identifier))
|
||||
(TypeVariableIdentifier))
|
||||
(Empty)))))
|
||||
(TypeSynonym
|
||||
(Statements
|
||||
{ (Identifier)
|
||||
->(Identifier) })
|
||||
{ (TypeConstructorIdentifier)
|
||||
->(TypeConstructorIdentifier) })
|
||||
(TypePattern
|
||||
(UnitConstructor)))
|
||||
{+(TypeSynonym
|
||||
{+(Statements
|
||||
{+(Identifier)+})+}
|
||||
{+(TypeConstructorIdentifier)+})+}
|
||||
{+(TypePattern
|
||||
{+(TupleConstructor)+})+})+}
|
||||
(TypeSynonym
|
||||
(Statements
|
||||
(Identifier))
|
||||
(TypeConstructorIdentifier))
|
||||
(TypePattern
|
||||
(TupleConstructor)))
|
||||
(TypeSynonym
|
||||
(Statements
|
||||
(Identifier))
|
||||
(TypePattern
|
||||
{ (TupleConstructor)
|
||||
->(FunctionConstructor) }))
|
||||
{+(TypeSynonym
|
||||
{+(Statements
|
||||
{+(Identifier)+})+}
|
||||
{+(TypeConstructorIdentifier)+})+}
|
||||
{+(TypePattern
|
||||
{+(FunctionConstructor)+})+})+}
|
||||
{+(TypeSynonym
|
||||
{+(Statements
|
||||
{+(TypeConstructorIdentifier)+})+}
|
||||
{+(TypePattern
|
||||
{+(InfixOperatorPattern
|
||||
{+(Type
|
||||
{+(Identifier)+}
|
||||
{+(TypeConstructorIdentifier)+}
|
||||
{+(TypeParameters)+}
|
||||
{+(Empty)+})+}
|
||||
{+(Identifier)+}
|
||||
{+(TypeOperator)+}
|
||||
{+(Type
|
||||
{+(InfixOperatorPattern
|
||||
{+(Type
|
||||
{+(Identifier)+}
|
||||
{+(TypeConstructorIdentifier)+}
|
||||
{+(TypeParameters
|
||||
{+(Identifier)+})+}
|
||||
{+(TypeConstructorIdentifier)+})+}
|
||||
{+(Empty)+})+}
|
||||
{+(Identifier)+}
|
||||
{+(TypeOperator)+}
|
||||
{+(Type
|
||||
{+(InfixOperatorPattern
|
||||
{+(Type
|
||||
{+(Identifier)+}
|
||||
{+(TypeConstructorIdentifier)+}
|
||||
{+(TypeParameters
|
||||
{+(Statements
|
||||
{+(Identifier)+}
|
||||
{+(Identifier)+})+})+}
|
||||
{+(TypeConstructorIdentifier)+}
|
||||
{+(TypeConstructorIdentifier)+})+})+}
|
||||
{+(Empty)+})+}
|
||||
{+(Identifier)+}
|
||||
{+(TypeOperator)+}
|
||||
{+(Type
|
||||
{+(QuotedName
|
||||
{+(ListConstructor)+})+}
|
||||
@ -97,108 +96,116 @@
|
||||
{+(Empty)+})+})+})+})+}
|
||||
{+(TypeSynonym
|
||||
{+(Statements
|
||||
{+(Identifier)+}
|
||||
{+(Identifier)+}
|
||||
{+(Identifier)+}
|
||||
{+(Identifier)+})+}
|
||||
{+(TypeConstructorIdentifier)+}
|
||||
{+(TypeVariableIdentifier)+}
|
||||
{+(TypeVariableIdentifier)+}
|
||||
{+(TypeVariableIdentifier)+})+}
|
||||
{+(TypePattern
|
||||
{+(QuotedName
|
||||
{+(Array
|
||||
{+(Type
|
||||
{+(Identifier)+}
|
||||
{+(TypeConstructorIdentifier)+}
|
||||
{+(TypeParameters)+}
|
||||
{+(Empty)+})+}
|
||||
{+(Type
|
||||
{+(Identifier)+}
|
||||
{+(TypeConstructorIdentifier)+}
|
||||
{+(TypeParameters
|
||||
{+(Statements
|
||||
{+(Identifier)+}
|
||||
{+(Identifier)+})+})+}
|
||||
{+(TypeConstructorIdentifier)+}
|
||||
{+(TypeVariableIdentifier)+})+})+}
|
||||
{+(Empty)+})+})+})+})+})+}
|
||||
(TypeSynonym
|
||||
(Statements
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
{+(Identifier)+})
|
||||
{ (TypePattern
|
||||
{-(FunctionConstructor)-})
|
||||
->(TextElement) })
|
||||
{+(TypeSynonym
|
||||
{+(Statements
|
||||
{+(Identifier)+}
|
||||
{+(TypeConstructorIdentifier)+}
|
||||
{+(TypeConstructorIdentifier)+})+}
|
||||
{+(TextElement)+})+}
|
||||
{+(TypeSynonym
|
||||
{+(Statements
|
||||
{+(TypeConstructorIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Identifier)+}
|
||||
{+(Identifier)+}
|
||||
{+(Identifier)+})+})+}
|
||||
{+(TypeConstructorIdentifier)+}
|
||||
{+(TypeVariableIdentifier)+}
|
||||
{+(TypeVariableIdentifier)+})+})+}
|
||||
{+(TypePattern
|
||||
{+(Statements
|
||||
{+(Identifier)+}
|
||||
{+(Identifier)+}
|
||||
{+(Identifier)+})+})+})+}
|
||||
{+(TypeConstructorIdentifier)+}
|
||||
{+(TypeVariableIdentifier)+}
|
||||
{+(TypeVariableIdentifier)+})+})+})+}
|
||||
{+(TypeSynonym
|
||||
{+(Statements
|
||||
{+(Identifier)+})+}
|
||||
{+(TypeConstructorIdentifier)+})+}
|
||||
{+(Context'
|
||||
{+(Identifier)+})+}
|
||||
{+(Statements
|
||||
{+(TypeConstructorIdentifier)+})+})+}
|
||||
{+(TypePattern
|
||||
{+(Statements
|
||||
{+(Identifier)+}
|
||||
{+(TypeConstructorIdentifier)+}
|
||||
{+(ListConstructor)+})+})+})+}
|
||||
{+(TypeSynonym
|
||||
{+(Statements
|
||||
{+(Identifier)+}
|
||||
{+(Identifier)+}
|
||||
{+(Identifier)+})+}
|
||||
{+(TypeConstructorIdentifier)+}
|
||||
{+(TypeVariableIdentifier)+}
|
||||
{+(TypeVariableIdentifier)+})+}
|
||||
{+(ScopedTypeVariables
|
||||
{+(Statements
|
||||
{+(Identifier)+}
|
||||
{+(Identifier)+})+})+}
|
||||
{+(TypeVariableIdentifier)+}
|
||||
{+(TypeVariableIdentifier)+})+})+}
|
||||
{+(TypePattern
|
||||
{+(Statements
|
||||
{+(Identifier)+}
|
||||
{+(Identifier)+}
|
||||
{+(Identifier)+})+})+})+}
|
||||
{+(TypeConstructorIdentifier)+}
|
||||
{+(TypeVariableIdentifier)+}
|
||||
{+(TypeVariableIdentifier)+})+})+})+}
|
||||
{+(TypeSynonym
|
||||
{+(Statements
|
||||
{+(Statements
|
||||
{+(Identifier)+}
|
||||
{+(Identifier)+}
|
||||
{+(Identifier)+})+})+}
|
||||
{+(TypeConstructorIdentifier)+}
|
||||
{+(TypeVariableIdentifier)+}
|
||||
{+(TypeVariableIdentifier)+})+})+}
|
||||
{+(TypePattern
|
||||
{+(Statements
|
||||
{+(Identifier)+}
|
||||
{+(TypeConstructorIdentifier)+}
|
||||
{+(Statements
|
||||
{+(Identifier)+}
|
||||
{+(Identifier)+}
|
||||
{+(Identifier)+})+})+})+})+}
|
||||
{+(TypeConstructorIdentifier)+}
|
||||
{+(TypeVariableIdentifier)+}
|
||||
{+(TypeVariableIdentifier)+})+})+})+})+}
|
||||
{-(TypeSynonym
|
||||
{-(Statements
|
||||
{-(Identifier)-})-}
|
||||
{-(TypeConstructorIdentifier)-})-}
|
||||
{-(TypePattern
|
||||
{-(TupleConstructor)-})-})-}
|
||||
{-(TypeSynonym
|
||||
{-(Statements
|
||||
{-(TypeConstructorIdentifier)-})-}
|
||||
{-(TypePattern
|
||||
{-(FunctionConstructor)-})-})-}
|
||||
{-(TypeSynonym
|
||||
{-(Statements
|
||||
{-(TypeConstructorIdentifier)-})-}
|
||||
{-(TypePattern
|
||||
{-(InfixOperatorPattern
|
||||
{-(Type
|
||||
{-(Identifier)-}
|
||||
{-(TypeConstructorIdentifier)-}
|
||||
{-(TypeParameters
|
||||
{-(Statements
|
||||
{-(Identifier)-}
|
||||
{-(Identifier)-})-})-}
|
||||
{-(TypeConstructorIdentifier)-}
|
||||
{-(TypeConstructorIdentifier)-})-})-}
|
||||
{-(Empty)-})-}
|
||||
{-(Identifier)-}
|
||||
{-(TypeOperator)-}
|
||||
{-(Type
|
||||
{-(InfixOperatorPattern
|
||||
{-(Type
|
||||
{-(Identifier)-}
|
||||
{-(TypeConstructorIdentifier)-}
|
||||
{-(TypeParameters
|
||||
{-(Identifier)-})-}
|
||||
{-(TypeConstructorIdentifier)-})-}
|
||||
{-(Empty)-})-}
|
||||
{-(Identifier)-}
|
||||
{-(TypeOperator)-}
|
||||
{-(Type
|
||||
{-(InfixOperatorPattern
|
||||
{-(Type
|
||||
{-(Identifier)-}
|
||||
{-(TypeConstructorIdentifier)-}
|
||||
{-(TypeParameters)-}
|
||||
{-(Empty)-})-}
|
||||
{-(Identifier)-}
|
||||
{-(TypeOperator)-}
|
||||
{-(Type
|
||||
{-(QuotedName
|
||||
{-(ListConstructor)-})-}
|
||||
@ -210,74 +217,75 @@
|
||||
{-(Empty)-})-})-})-})-}
|
||||
{-(TypeSynonym
|
||||
{-(Statements
|
||||
{-(Identifier)-}
|
||||
{-(Identifier)-}
|
||||
{-(Identifier)-}
|
||||
{-(Identifier)-})-}
|
||||
{-(TypeConstructorIdentifier)-}
|
||||
{-(TypeVariableIdentifier)-}
|
||||
{-(TypeVariableIdentifier)-}
|
||||
{-(TypeVariableIdentifier)-})-}
|
||||
{-(TypePattern
|
||||
{-(QuotedName
|
||||
{-(Array
|
||||
{-(Type
|
||||
{-(Identifier)-}
|
||||
{-(TypeConstructorIdentifier)-}
|
||||
{-(TypeParameters)-}
|
||||
{-(Empty)-})-}
|
||||
{-(Type
|
||||
{-(Identifier)-}
|
||||
{-(TypeConstructorIdentifier)-}
|
||||
{-(TypeParameters
|
||||
{-(Statements
|
||||
{-(Identifier)-}
|
||||
{-(Identifier)-})-})-}
|
||||
{-(TypeConstructorIdentifier)-}
|
||||
{-(TypeVariableIdentifier)-})-})-}
|
||||
{-(Empty)-})-})-})-})-})-}
|
||||
{-(TypeSynonym
|
||||
{-(Statements
|
||||
{-(Identifier)-}
|
||||
{-(Identifier)-})-}
|
||||
{-(TypeConstructorIdentifier)-}
|
||||
{-(TypeConstructorIdentifier)-})-}
|
||||
{-(TextElement)-})-}
|
||||
{-(TypeSynonym
|
||||
{-(Statements
|
||||
{-(Identifier)-}
|
||||
{-(TypeConstructorIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Identifier)-}
|
||||
{-(Identifier)-}
|
||||
{-(Identifier)-})-})-}
|
||||
{-(TypeConstructorIdentifier)-}
|
||||
{-(TypeVariableIdentifier)-}
|
||||
{-(TypeVariableIdentifier)-})-})-}
|
||||
{-(TypePattern
|
||||
{-(Statements
|
||||
{-(Identifier)-}
|
||||
{-(Identifier)-}
|
||||
{-(Identifier)-})-})-})-}
|
||||
{-(TypeConstructorIdentifier)-}
|
||||
{-(TypeVariableIdentifier)-}
|
||||
{-(TypeVariableIdentifier)-})-})-})-}
|
||||
{-(TypeSynonym
|
||||
{-(Statements
|
||||
{-(Identifier)-})-}
|
||||
{-(TypeConstructorIdentifier)-})-}
|
||||
{-(Context'
|
||||
{-(Identifier)-})-}
|
||||
{-(Statements
|
||||
{-(TypeConstructorIdentifier)-})-})-}
|
||||
{-(TypePattern
|
||||
{-(Statements
|
||||
{-(Identifier)-}
|
||||
{-(TypeConstructorIdentifier)-}
|
||||
{-(ListConstructor)-})-})-})-}
|
||||
{-(TypeSynonym
|
||||
{-(Statements
|
||||
{-(Identifier)-}
|
||||
{-(Identifier)-}
|
||||
{-(Identifier)-})-}
|
||||
{-(TypeConstructorIdentifier)-}
|
||||
{-(TypeVariableIdentifier)-}
|
||||
{-(TypeVariableIdentifier)-})-}
|
||||
{-(ScopedTypeVariables
|
||||
{-(Statements
|
||||
{-(Identifier)-}
|
||||
{-(Identifier)-})-})-}
|
||||
{-(TypeVariableIdentifier)-}
|
||||
{-(TypeVariableIdentifier)-})-})-}
|
||||
{-(TypePattern
|
||||
{-(Statements
|
||||
{-(Identifier)-}
|
||||
{-(Identifier)-}
|
||||
{-(Identifier)-})-})-})-}
|
||||
{-(TypeConstructorIdentifier)-}
|
||||
{-(TypeVariableIdentifier)-}
|
||||
{-(TypeVariableIdentifier)-})-})-})-}
|
||||
{-(TypeSynonym
|
||||
{-(Statements
|
||||
{-(Statements
|
||||
{-(Identifier)-}
|
||||
{-(Identifier)-}
|
||||
{-(Identifier)-})-})-}
|
||||
{-(TypeConstructorIdentifier)-}
|
||||
{-(TypeVariableIdentifier)-}
|
||||
{-(TypeVariableIdentifier)-})-})-}
|
||||
{-(TypePattern
|
||||
{-(Statements
|
||||
{-(Identifier)-}
|
||||
{-(TypeConstructorIdentifier)-}
|
||||
{-(Statements
|
||||
{-(Identifier)-}
|
||||
{-(Identifier)-}
|
||||
{-(Identifier)-})-})-})-})-}))
|
||||
{-(TypeConstructorIdentifier)-}
|
||||
{-(TypeVariableIdentifier)-}
|
||||
{-(TypeVariableIdentifier)-})-})-})-})-}))
|
||||
|
@ -3,81 +3,81 @@
|
||||
(Statements
|
||||
(TypeSynonym
|
||||
(Statements
|
||||
(Identifier))
|
||||
(TypeConstructorIdentifier))
|
||||
(TypePattern
|
||||
(Identifier)))
|
||||
(TypeConstructorIdentifier)))
|
||||
(TypeSynonym
|
||||
(Statements
|
||||
(Identifier))
|
||||
(TypeConstructorIdentifier))
|
||||
(TypePattern
|
||||
(ListConstructor)))
|
||||
(TypeSynonym
|
||||
(Statements
|
||||
(Identifier)
|
||||
(Identifier))
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeVariableIdentifier))
|
||||
(TypePattern
|
||||
(Statements
|
||||
(Identifier)
|
||||
(Identifier))))
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeVariableIdentifier))))
|
||||
(TypeSynonym
|
||||
(Statements
|
||||
(Identifier)
|
||||
(Identifier))
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeVariableIdentifier))
|
||||
(TypePattern
|
||||
(Array
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters
|
||||
(Identifier))
|
||||
(TypeVariableIdentifier))
|
||||
(Empty)))))
|
||||
(TypeSynonym
|
||||
(Statements
|
||||
(Identifier))
|
||||
(TypeConstructorIdentifier))
|
||||
(TypePattern
|
||||
(UnitConstructor)))
|
||||
(TypeSynonym
|
||||
(Statements
|
||||
(Identifier))
|
||||
(TypeConstructorIdentifier))
|
||||
(TypePattern
|
||||
(TupleConstructor)))
|
||||
(TypeSynonym
|
||||
(Statements
|
||||
(Identifier))
|
||||
(TypeConstructorIdentifier))
|
||||
(TypePattern
|
||||
(TupleConstructor)))
|
||||
(TypeSynonym
|
||||
(Statements
|
||||
(Identifier))
|
||||
(TypeConstructorIdentifier))
|
||||
(TypePattern
|
||||
(FunctionConstructor)))
|
||||
(TypeSynonym
|
||||
(Statements
|
||||
(Identifier))
|
||||
(TypeConstructorIdentifier))
|
||||
(TypePattern
|
||||
(InfixOperatorPattern
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters)
|
||||
(Empty))
|
||||
(Identifier)
|
||||
(TypeOperator)
|
||||
(Type
|
||||
(InfixOperatorPattern
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters
|
||||
(Identifier))
|
||||
(TypeConstructorIdentifier))
|
||||
(Empty))
|
||||
(Identifier)
|
||||
(TypeOperator)
|
||||
(Type
|
||||
(InfixOperatorPattern
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters
|
||||
(Statements
|
||||
(Identifier)
|
||||
(Identifier)))
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeConstructorIdentifier)))
|
||||
(Empty))
|
||||
(Identifier)
|
||||
(TypeOperator)
|
||||
(Type
|
||||
(QuotedName
|
||||
(ListConstructor))
|
||||
@ -89,74 +89,75 @@
|
||||
(Empty)))))
|
||||
(TypeSynonym
|
||||
(Statements
|
||||
(Identifier)
|
||||
(Identifier)
|
||||
(Identifier)
|
||||
(Identifier))
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeVariableIdentifier)
|
||||
(TypeVariableIdentifier)
|
||||
(TypeVariableIdentifier))
|
||||
(TypePattern
|
||||
(QuotedName
|
||||
(Array
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters)
|
||||
(Empty))
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters
|
||||
(Statements
|
||||
(Identifier)
|
||||
(Identifier)))
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeVariableIdentifier)))
|
||||
(Empty))))))
|
||||
(TypeSynonym
|
||||
(Statements
|
||||
(Identifier)
|
||||
(Identifier))
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeConstructorIdentifier))
|
||||
(TextElement))
|
||||
(TypeSynonym
|
||||
(Statements
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(Statements
|
||||
(Identifier)
|
||||
(Identifier)
|
||||
(Identifier)))
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeVariableIdentifier)
|
||||
(TypeVariableIdentifier)))
|
||||
(TypePattern
|
||||
(Statements
|
||||
(Identifier)
|
||||
(Identifier)
|
||||
(Identifier))))
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeVariableIdentifier)
|
||||
(TypeVariableIdentifier))))
|
||||
(TypeSynonym
|
||||
(Statements
|
||||
(Identifier))
|
||||
(TypeConstructorIdentifier))
|
||||
(Context'
|
||||
(Identifier))
|
||||
(Statements
|
||||
(TypeConstructorIdentifier)))
|
||||
(TypePattern
|
||||
(Statements
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(ListConstructor))))
|
||||
(TypeSynonym
|
||||
(Statements
|
||||
(Identifier)
|
||||
(Identifier)
|
||||
(Identifier))
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeVariableIdentifier)
|
||||
(TypeVariableIdentifier))
|
||||
(ScopedTypeVariables
|
||||
(Statements
|
||||
(Identifier)
|
||||
(Identifier)))
|
||||
(TypeVariableIdentifier)
|
||||
(TypeVariableIdentifier)))
|
||||
(TypePattern
|
||||
(Statements
|
||||
(Identifier)
|
||||
(Identifier)
|
||||
(Identifier))))
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeVariableIdentifier)
|
||||
(TypeVariableIdentifier))))
|
||||
(TypeSynonym
|
||||
(Statements
|
||||
(Statements
|
||||
(Identifier)
|
||||
(Identifier)
|
||||
(Identifier)))
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeVariableIdentifier)
|
||||
(TypeVariableIdentifier)))
|
||||
(TypePattern
|
||||
(Statements
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(Statements
|
||||
(Identifier)
|
||||
(Identifier)
|
||||
(Identifier)))))))
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeVariableIdentifier)
|
||||
(TypeVariableIdentifier)))))))
|
||||
|
@ -3,83 +3,83 @@
|
||||
(Statements
|
||||
(TypeSynonym
|
||||
(Statements
|
||||
(Identifier))
|
||||
(TypeConstructorIdentifier))
|
||||
(TypePattern
|
||||
(Identifier)))
|
||||
(TypeConstructorIdentifier)))
|
||||
(TypeSynonym
|
||||
(Statements
|
||||
(Identifier))
|
||||
(TypeConstructorIdentifier))
|
||||
(TypePattern
|
||||
(ListConstructor)))
|
||||
(TypeSynonym
|
||||
(Statements
|
||||
(Identifier)
|
||||
(Identifier)
|
||||
(Identifier))
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeVariableIdentifier)
|
||||
(TypeVariableIdentifier))
|
||||
(TypePattern
|
||||
(Statements
|
||||
(Identifier)
|
||||
(Identifier)
|
||||
(Identifier))))
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeVariableIdentifier)
|
||||
(TypeVariableIdentifier))))
|
||||
(TypeSynonym
|
||||
(Statements
|
||||
(Identifier)
|
||||
(Identifier))
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeVariableIdentifier))
|
||||
(TypePattern
|
||||
(Array
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters
|
||||
(Identifier))
|
||||
(TypeVariableIdentifier))
|
||||
(Empty)))))
|
||||
(TypeSynonym
|
||||
(Statements
|
||||
(Identifier))
|
||||
(TypeConstructorIdentifier))
|
||||
(TypePattern
|
||||
(UnitConstructor)))
|
||||
(TypeSynonym
|
||||
(Statements
|
||||
(Identifier))
|
||||
(TypeConstructorIdentifier))
|
||||
(TypePattern
|
||||
(TupleConstructor)))
|
||||
(TypeSynonym
|
||||
(Statements
|
||||
(Identifier))
|
||||
(TypeConstructorIdentifier))
|
||||
(TypePattern
|
||||
(TupleConstructor)))
|
||||
(TypeSynonym
|
||||
(Statements
|
||||
(Identifier))
|
||||
(TypeConstructorIdentifier))
|
||||
(TypePattern
|
||||
(FunctionConstructor)))
|
||||
(TypeSynonym
|
||||
(Statements
|
||||
(Identifier))
|
||||
(TypeConstructorIdentifier))
|
||||
(TypePattern
|
||||
(InfixOperatorPattern
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters
|
||||
(Statements
|
||||
(Identifier)
|
||||
(Identifier)))
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeConstructorIdentifier)))
|
||||
(Empty))
|
||||
(Identifier)
|
||||
(TypeOperator)
|
||||
(Type
|
||||
(InfixOperatorPattern
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters
|
||||
(Identifier))
|
||||
(TypeConstructorIdentifier))
|
||||
(Empty))
|
||||
(Identifier)
|
||||
(TypeOperator)
|
||||
(Type
|
||||
(InfixOperatorPattern
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters)
|
||||
(Empty))
|
||||
(Identifier)
|
||||
(TypeOperator)
|
||||
(Type
|
||||
(QuotedName
|
||||
(ListConstructor))
|
||||
@ -91,74 +91,75 @@
|
||||
(Empty)))))
|
||||
(TypeSynonym
|
||||
(Statements
|
||||
(Identifier)
|
||||
(Identifier)
|
||||
(Identifier)
|
||||
(Identifier))
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeVariableIdentifier)
|
||||
(TypeVariableIdentifier)
|
||||
(TypeVariableIdentifier))
|
||||
(TypePattern
|
||||
(QuotedName
|
||||
(Array
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters)
|
||||
(Empty))
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeParameters
|
||||
(Statements
|
||||
(Identifier)
|
||||
(Identifier)))
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeVariableIdentifier)))
|
||||
(Empty))))))
|
||||
(TypeSynonym
|
||||
(Statements
|
||||
(Identifier)
|
||||
(Identifier))
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeConstructorIdentifier))
|
||||
(TextElement))
|
||||
(TypeSynonym
|
||||
(Statements
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(Statements
|
||||
(Identifier)
|
||||
(Identifier)
|
||||
(Identifier)))
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeVariableIdentifier)
|
||||
(TypeVariableIdentifier)))
|
||||
(TypePattern
|
||||
(Statements
|
||||
(Identifier)
|
||||
(Identifier)
|
||||
(Identifier))))
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeVariableIdentifier)
|
||||
(TypeVariableIdentifier))))
|
||||
(TypeSynonym
|
||||
(Statements
|
||||
(Identifier))
|
||||
(TypeConstructorIdentifier))
|
||||
(Context'
|
||||
(Identifier))
|
||||
(Statements
|
||||
(TypeConstructorIdentifier)))
|
||||
(TypePattern
|
||||
(Statements
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(ListConstructor))))
|
||||
(TypeSynonym
|
||||
(Statements
|
||||
(Identifier)
|
||||
(Identifier)
|
||||
(Identifier))
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeVariableIdentifier)
|
||||
(TypeVariableIdentifier))
|
||||
(ScopedTypeVariables
|
||||
(Statements
|
||||
(Identifier)
|
||||
(Identifier)))
|
||||
(TypeVariableIdentifier)
|
||||
(TypeVariableIdentifier)))
|
||||
(TypePattern
|
||||
(Statements
|
||||
(Identifier)
|
||||
(Identifier)
|
||||
(Identifier))))
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeVariableIdentifier)
|
||||
(TypeVariableIdentifier))))
|
||||
(TypeSynonym
|
||||
(Statements
|
||||
(Statements
|
||||
(Identifier)
|
||||
(Identifier)
|
||||
(Identifier)))
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeVariableIdentifier)
|
||||
(TypeVariableIdentifier)))
|
||||
(TypePattern
|
||||
(Statements
|
||||
(Identifier)
|
||||
(TypeConstructorIdentifier)
|
||||
(Statements
|
||||
(Identifier)
|
||||
(Identifier)
|
||||
(Identifier)))))))
|
||||
(TypeConstructorIdentifier)
|
||||
(TypeVariableIdentifier)
|
||||
(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