1
1
mirror of https://github.com/github/semantic.git synced 2024-11-28 01:47:01 +03:00

Add type class declaration fixtures

This commit is contained in:
Rick Winfrey 2018-06-18 12:34:27 -07:00
parent 57e24f423e
commit 21526b78ff
10 changed files with 2002 additions and 45 deletions

View File

@ -69,24 +69,20 @@
{+(Constructor
{+(ConstructorIdentifier)+}
{+(TypeParameters)+})+}
(Constructor
{ (ConstructorIdentifier)
->(ConstructorIdentifier) }
(TypeParameters))
{+(Constructor
{+(ConstructorIdentifier)+}
{+(TypeParameters)+})+}
{+(Constructor
{+(ConstructorIdentifier)+}
{+(TypeParameters)+})+}
{+(Constructor
{+(ConstructorIdentifier)+}
{+(TypeParameters)+})+}
{+(Constructor
{+(ConstructorIdentifier)+}
{+(TypeParameters)+})+}
{-(Constructor
{-(ConstructorIdentifier)-}
{-(TypeParameters)-})-}
{-(Constructor
{-(ConstructorIdentifier)-}
{-(TypeParameters)-})-}
(Constructor
{ (ConstructorIdentifier)
->(ConstructorIdentifier) }
(TypeParameters))
{-(Constructor
{-(ConstructorIdentifier)-}
{-(TypeParameters)-})-}

View File

@ -75,15 +75,13 @@
{+(Constructor
{+(ConstructorIdentifier)+}
{+(TypeParameters)+})+}
(Constructor
{ (ConstructorIdentifier)
->(ConstructorIdentifier) }
(TypeParameters))
{+(Constructor
{+(ConstructorIdentifier)+}
{+(TypeParameters)+})+}
{+(Constructor
{+(ConstructorIdentifier)+}
{+(TypeParameters)+})+}
{-(Constructor
{-(ConstructorIdentifier)-}
{-(TypeParameters)-})-}
{-(Constructor
{-(ConstructorIdentifier)-}
{-(TypeParameters)-})-}

View File

@ -0,0 +1,48 @@
class Show a where {}
class Show a b where {}
class Show a => Read a where {}
class (Show a, Eq a) => Read a where {}
class Foo a where {
op :: Num b => a -> b -> a;
op' :: (Num a, Num b) => a -> b -> a;
}
class Foo a where
infixl `op`
infixr 7 `op`
infix 7 `op`, `ip`, `ap`
infix <$>
infix 7 <$>
infix 7 :
infix 7 :.
infix 7 :<:
class (Eq a) => Ord a where
compare :: a -> a -> Ordering
(<), (<=), (>=), (>) :: a -> a -> Bool
max, min :: a -> a -> a
id :: a
class Bar a b m => Baz a b m where {}
class Bar baz where
foo :: wiz -> Baz
default foo :: wiz -> Baz
class Bar (baz :: Foo) where
class Effectful (m :: [* -> *] -> * -> *) where
class Foo bar where
type Baz wiz :: Wax
class Foo bar where
type Baz wiz :: [* -> *]
class Bar baz => Foo fax where
type family Woo a :: [* -> *]
class (Monad a, Show b) => Foo a b c | a -> c, b -> c where
d :: a b

View File

@ -0,0 +1,48 @@
class Eq a where {}
class Ord a b where {}
class Eq a => Ord a where {}
class (Show a, Eq a) => Ord a where {}
class Bar a where {
op' :: Num b => a -> b -> a;
op :: (Num a, Num b) => a -> b -> a;
}
class Bar a where
infixl `op`
infixr 8 `op`
infix 8 `op`, `ip`, `ap`
infix <$>
infix 8 <$>
infix 8 :
infix 8 :.
infix 8 :<:
class (Eq b) => Ord b where
compare :: b -> b -> Ordering
(<), (<=), (>=), (>) :: b -> b -> Bool
max, min :: b -> b -> b
id :: b
class Foo a b m => Bar a b m where {}
class Foo bat where
bar :: bat -> Baz
default bar :: bat -> Baz
class Foo (baz :: Bar) where
class Effectful' (m' :: [* -> *] -> * -> *) where
class Foo bar where
type Baz wiz :: Wax
class Foo bar where
type Baz wiz :: [* -> *]
class Foo baz => Bar fax where
type family Woot a :: [* -> *]
class (Monad a, Show b) => Foo a b c | b -> d, a -> b where
d :: a b

View File

@ -0,0 +1,594 @@
(Module
(Empty)
(Statements
(TypeClass
(Empty)
{ (TypeClassIdentifier)
->(TypeClassIdentifier) }
(TypeVariableIdentifier)
(Statements))
{+(TypeClass
{+(Empty)+}
{+(TypeClassIdentifier)+}
{+(TypeVariableIdentifier)+}
{+(TypeVariableIdentifier)+}
{+(Statements)+})+}
{+(TypeClass
{+(Context'
{+(Class
{+(TypeClassIdentifier)+}
{+(TypeVariableIdentifier)+})+})+}
{+(TypeClassIdentifier)+}
{+(TypeVariableIdentifier)+}
{+(Statements)+})+}
{+(TypeClass
{+(Context'
{+(Statements
{+(Class
{+(TypeClassIdentifier)+}
{+(TypeVariableIdentifier)+})+}
{+(Class
{+(TypeClassIdentifier)+}
{+(TypeVariableIdentifier)+})+})+})+}
{+(TypeClassIdentifier)+}
{+(TypeVariableIdentifier)+}
{+(Statements)+})+}
{+(TypeClass
{+(Empty)+}
{+(TypeClassIdentifier)+}
{+(TypeVariableIdentifier)+}
{+(Statements
{+(TypeSignature
{+(VariableIdentifier)+}
{+(Context'
{+(Class
{+(TypeClassIdentifier)+}
{+(TypeVariableIdentifier)+})+})+}
{+(FunctionType
{+(Type
{+(TypeVariableIdentifier)+}
{+(TypeParameters)+}
{+(Empty)+})+}
{+(FunctionType
{+(Type
{+(TypeVariableIdentifier)+}
{+(TypeParameters)+}
{+(Empty)+})+}
{+(Type
{+(TypeVariableIdentifier)+}
{+(TypeParameters)+}
{+(Empty)+})+})+})+})+}
{+(TypeSignature
{+(VariableIdentifier)+}
{+(Context'
{+(Statements
{+(Class
{+(TypeClassIdentifier)+}
{+(TypeVariableIdentifier)+})+}
{+(Class
{+(TypeClassIdentifier)+}
{+(TypeVariableIdentifier)+})+})+})+}
{+(FunctionType
{+(Type
{+(TypeVariableIdentifier)+}
{+(TypeParameters)+}
{+(Empty)+})+}
{+(FunctionType
{+(Type
{+(TypeVariableIdentifier)+}
{+(TypeParameters)+}
{+(Empty)+})+}
{+(Type
{+(TypeVariableIdentifier)+}
{+(TypeParameters)+}
{+(Empty)+})+})+})+})+})+})+}
{+(TypeClass
{+(Empty)+}
{+(TypeClassIdentifier)+}
{+(TypeVariableIdentifier)+}
{+(Statements
{+(Fixity'
{+(Empty)+}
{+(VariableOperator
{+(InfixVariableIdentifier)+})+})+}
{+(Fixity'
{+(Integer)+}
{+(VariableOperator
{+(InfixVariableIdentifier)+})+})+}
{+(Fixity'
{+(Integer)+}
{+(VariableOperator
{+(InfixVariableIdentifier)+})+}
{+(VariableOperator
{+(InfixVariableIdentifier)+})+}
{+(VariableOperator
{+(InfixVariableIdentifier)+})+})+}
{+(Fixity'
{+(Empty)+}
{+(VariableOperator
{+(VariableSymbol)+})+})+}
{+(Fixity'
{+(Integer)+}
{+(VariableOperator
{+(VariableSymbol)+})+})+}
{+(Fixity'
{+(Integer)+}
{+(ConstructorOperator
{+(ConstructorSymbol)+})+})+}
{+(Fixity'
{+(Integer)+}
{+(ConstructorOperator
{+(ConstructorSymbol)+})+})+}
{+(Fixity'
{+(Integer)+}
{+(ConstructorOperator
{+(ConstructorSymbol)+})+})+})+})+}
{+(TypeClass
{+(Context'
{+(Class
{+(TypeClassIdentifier)+}
{+(TypeVariableIdentifier)+})+})+}
{+(TypeClassIdentifier)+}
{+(TypeVariableIdentifier)+}
{+(Statements
{+(TypeSignature
{+(VariableIdentifier)+}
{+(FunctionType
{+(Type
{+(TypeVariableIdentifier)+}
{+(TypeParameters)+}
{+(Empty)+})+}
{+(FunctionType
{+(Type
{+(TypeVariableIdentifier)+}
{+(TypeParameters)+}
{+(Empty)+})+}
{+(Type
{+(TypeConstructorIdentifier)+}
{+(TypeParameters)+}
{+(Empty)+})+})+})+})+}
{+(TypeSignature
{+(VariableOperator
{+(VariableSymbol)+})+}
{+(VariableOperator
{+(VariableSymbol)+})+}
{+(VariableOperator
{+(VariableSymbol)+})+}
{+(VariableOperator
{+(VariableSymbol)+})+}
{+(FunctionType
{+(Type
{+(TypeVariableIdentifier)+}
{+(TypeParameters)+}
{+(Empty)+})+}
{+(FunctionType
{+(Type
{+(TypeVariableIdentifier)+}
{+(TypeParameters)+}
{+(Empty)+})+}
{+(Type
{+(TypeConstructorIdentifier)+}
{+(TypeParameters)+}
{+(Empty)+})+})+})+})+}
{+(TypeSignature
{+(VariableIdentifier)+}
{+(VariableIdentifier)+}
{+(FunctionType
{+(Type
{+(TypeVariableIdentifier)+}
{+(TypeParameters)+}
{+(Empty)+})+}
{+(FunctionType
{+(Type
{+(TypeVariableIdentifier)+}
{+(TypeParameters)+}
{+(Empty)+})+}
{+(Type
{+(TypeVariableIdentifier)+}
{+(TypeParameters)+}
{+(Empty)+})+})+})+})+}
{+(TypeSignature
{+(VariableIdentifier)+}
{+(TypeVariableIdentifier)+})+})+})+}
{+(TypeClass
{+(Context'
{+(Class
{+(TypeClassIdentifier)+}
{+(TypeVariableIdentifier)+}
{+(TypeVariableIdentifier)+}
{+(TypeVariableIdentifier)+})+})+}
{+(TypeClassIdentifier)+}
{+(TypeVariableIdentifier)+}
{+(TypeVariableIdentifier)+}
{+(TypeVariableIdentifier)+}
{+(Statements)+})+}
{+(TypeClass
{+(Empty)+}
{+(TypeClassIdentifier)+}
{+(TypeVariableIdentifier)+}
{+(Statements
{+(TypeSignature
{+(VariableIdentifier)+}
{+(FunctionType
{+(Type
{+(TypeVariableIdentifier)+}
{+(TypeParameters)+}
{+(Empty)+})+}
{+(Type
{+(TypeConstructorIdentifier)+}
{+(TypeParameters)+}
{+(Empty)+})+})+})+}
{+(DefaultSignature
{+(VariableIdentifier)+}
{+(FunctionType
{+(Type
{+(TypeVariableIdentifier)+}
{+(TypeParameters)+}
{+(Empty)+})+}
{+(Type
{+(TypeConstructorIdentifier)+}
{+(TypeParameters)+}
{+(Empty)+})+})+})+})+})+}
(TypeClass
(Empty)
{ (TypeClassIdentifier)
->(TypeClassIdentifier) }
{+(AnnotatedTypeVariable
{+(TypeVariableIdentifier)+}
{+(TypeConstructorIdentifier)+})+}
{-(TypeVariableIdentifier)-}
{-(TypeVariableIdentifier)-}
(Statements))
{+(TypeClass
{+(Empty)+}
{+(TypeClassIdentifier)+}
{+(AnnotatedTypeVariable
{+(TypeVariableIdentifier)+}
{+(KindFunctionType
{+(Kind
{+(KindListType
{+(KindFunctionType
{+(Kind
{+(Star)+})+}
{+(Kind
{+(Star)+})+})+})+})+}
{+(KindFunctionType
{+(Kind
{+(Star)+})+}
{+(Kind
{+(Star)+})+})+})+})+}
{+(Statements)+})+}
{-(TypeClass
{-(Context'
{-(Class
{-(TypeClassIdentifier)-}
{-(TypeVariableIdentifier)-})-})-}
{-(TypeClassIdentifier)-}
{-(TypeVariableIdentifier)-}
{-(Statements)-})-}
{-(TypeClass
{-(Context'
{-(Statements
{-(Class
{-(TypeClassIdentifier)-}
{-(TypeVariableIdentifier)-})-}
{-(Class
{-(TypeClassIdentifier)-}
{-(TypeVariableIdentifier)-})-})-})-}
{-(TypeClassIdentifier)-}
{-(TypeVariableIdentifier)-}
{-(Statements)-})-}
{-(TypeClass
{-(Empty)-}
{-(TypeClassIdentifier)-}
{-(TypeVariableIdentifier)-}
{-(Statements
{-(TypeSignature
{-(VariableIdentifier)-}
{-(Context'
{-(Class
{-(TypeClassIdentifier)-}
{-(TypeVariableIdentifier)-})-})-}
{-(FunctionType
{-(Type
{-(TypeVariableIdentifier)-}
{-(TypeParameters)-}
{-(Empty)-})-}
{-(FunctionType
{-(Type
{-(TypeVariableIdentifier)-}
{-(TypeParameters)-}
{-(Empty)-})-}
{-(Type
{-(TypeVariableIdentifier)-}
{-(TypeParameters)-}
{-(Empty)-})-})-})-})-}
{-(TypeSignature
{-(VariableIdentifier)-}
{-(Context'
{-(Statements
{-(Class
{-(TypeClassIdentifier)-}
{-(TypeVariableIdentifier)-})-}
{-(Class
{-(TypeClassIdentifier)-}
{-(TypeVariableIdentifier)-})-})-})-}
{-(FunctionType
{-(Type
{-(TypeVariableIdentifier)-}
{-(TypeParameters)-}
{-(Empty)-})-}
{-(FunctionType
{-(Type
{-(TypeVariableIdentifier)-}
{-(TypeParameters)-}
{-(Empty)-})-}
{-(Type
{-(TypeVariableIdentifier)-}
{-(TypeParameters)-}
{-(Empty)-})-})-})-})-})-})-}
{-(TypeClass
{-(Empty)-}
{-(TypeClassIdentifier)-}
{-(TypeVariableIdentifier)-}
{-(Statements
{-(Fixity'
{-(Empty)-}
{-(VariableOperator
{-(InfixVariableIdentifier)-})-})-}
{-(Fixity'
{-(Integer)-}
{-(VariableOperator
{-(InfixVariableIdentifier)-})-})-}
{-(Fixity'
{-(Integer)-}
{-(VariableOperator
{-(InfixVariableIdentifier)-})-}
{-(VariableOperator
{-(InfixVariableIdentifier)-})-}
{-(VariableOperator
{-(InfixVariableIdentifier)-})-})-}
{-(Fixity'
{-(Empty)-}
{-(VariableOperator
{-(VariableSymbol)-})-})-}
{-(Fixity'
{-(Integer)-}
{-(VariableOperator
{-(VariableSymbol)-})-})-}
{-(Fixity'
{-(Integer)-}
{-(ConstructorOperator
{-(ConstructorSymbol)-})-})-}
{-(Fixity'
{-(Integer)-}
{-(ConstructorOperator
{-(ConstructorSymbol)-})-})-}
{-(Fixity'
{-(Integer)-}
{-(ConstructorOperator
{-(ConstructorSymbol)-})-})-})-})-}
{-(TypeClass
{-(Context'
{-(Class
{-(TypeClassIdentifier)-}
{-(TypeVariableIdentifier)-})-})-}
{-(TypeClassIdentifier)-}
{-(TypeVariableIdentifier)-}
{-(Statements
{-(TypeSignature
{-(VariableIdentifier)-}
{-(FunctionType
{-(Type
{-(TypeVariableIdentifier)-}
{-(TypeParameters)-}
{-(Empty)-})-}
{-(FunctionType
{-(Type
{-(TypeVariableIdentifier)-}
{-(TypeParameters)-}
{-(Empty)-})-}
{-(Type
{-(TypeConstructorIdentifier)-}
{-(TypeParameters)-}
{-(Empty)-})-})-})-})-}
{-(TypeSignature
{-(VariableOperator
{-(VariableSymbol)-})-}
{-(VariableOperator
{-(VariableSymbol)-})-}
{-(VariableOperator
{-(VariableSymbol)-})-}
{-(VariableOperator
{-(VariableSymbol)-})-}
{-(FunctionType
{-(Type
{-(TypeVariableIdentifier)-}
{-(TypeParameters)-}
{-(Empty)-})-}
{-(FunctionType
{-(Type
{-(TypeVariableIdentifier)-}
{-(TypeParameters)-}
{-(Empty)-})-}
{-(Type
{-(TypeConstructorIdentifier)-}
{-(TypeParameters)-}
{-(Empty)-})-})-})-})-}
{-(TypeSignature
{-(VariableIdentifier)-}
{-(VariableIdentifier)-}
{-(FunctionType
{-(Type
{-(TypeVariableIdentifier)-}
{-(TypeParameters)-}
{-(Empty)-})-}
{-(FunctionType
{-(Type
{-(TypeVariableIdentifier)-}
{-(TypeParameters)-}
{-(Empty)-})-}
{-(Type
{-(TypeVariableIdentifier)-}
{-(TypeParameters)-}
{-(Empty)-})-})-})-})-}
{-(TypeSignature
{-(VariableIdentifier)-}
{-(TypeVariableIdentifier)-})-})-})-}
{-(TypeClass
{-(Context'
{-(Class
{-(TypeClassIdentifier)-}
{-(TypeVariableIdentifier)-}
{-(TypeVariableIdentifier)-}
{-(TypeVariableIdentifier)-})-})-}
{-(TypeClassIdentifier)-}
{-(TypeVariableIdentifier)-}
{-(TypeVariableIdentifier)-}
{-(TypeVariableIdentifier)-}
{-(Statements)-})-}
{-(TypeClass
{-(Empty)-}
{-(TypeClassIdentifier)-}
{-(TypeVariableIdentifier)-}
{-(Statements
{-(TypeSignature
{-(VariableIdentifier)-}
{-(FunctionType
{-(Type
{-(TypeVariableIdentifier)-}
{-(TypeParameters)-}
{-(Empty)-})-}
{-(Type
{-(TypeConstructorIdentifier)-}
{-(TypeParameters)-}
{-(Empty)-})-})-})-}
{-(DefaultSignature
{-(VariableIdentifier)-}
{-(FunctionType
{-(Type
{-(TypeVariableIdentifier)-}
{-(TypeParameters)-}
{-(Empty)-})-}
{-(Type
{-(TypeConstructorIdentifier)-}
{-(TypeParameters)-}
{-(Empty)-})-})-})-})-})-}
{-(TypeClass
{-(Empty)-}
{-(TypeClassIdentifier)-}
{-(AnnotatedTypeVariable
{-(TypeVariableIdentifier)-}
{-(TypeConstructorIdentifier)-})-}
{-(Statements)-})-}
{-(TypeClass
{-(Empty)-}
{-(TypeClassIdentifier)-}
{-(AnnotatedTypeVariable
{-(TypeVariableIdentifier)-}
{-(KindFunctionType
{-(Kind
{-(KindListType
{-(KindFunctionType
{-(Kind
{-(Star)-})-}
{-(Kind
{-(Star)-})-})-})-})-}
{-(KindFunctionType
{-(Kind
{-(Star)-})-}
{-(Kind
{-(Star)-})-})-})-})-}
{-(Statements)-})-}
(TypeClass
(Empty)
(TypeClassIdentifier)
(TypeVariableIdentifier)
(Statements
(TypeSynonym
(Statements
(TypeConstructorIdentifier)
(TypeVariableIdentifier))
(TypeSignature
(TypeConstructorIdentifier)))))
(TypeClass
(Empty)
(TypeClassIdentifier)
(TypeVariableIdentifier)
(Statements
(TypeSynonym
(Statements
(TypeConstructorIdentifier)
(TypeVariableIdentifier))
(KindSignature
(KindListType
(KindFunctionType
(Kind
(Star))
(Kind
(Star))))))))
(TypeClass
(Context'
(Class
{ (TypeClassIdentifier)
->(TypeClassIdentifier) }
(TypeVariableIdentifier)))
{ (TypeClassIdentifier)
->(TypeClassIdentifier) }
(TypeVariableIdentifier)
(Statements
(TypeFamily
{ (TypeConstructorIdentifier)
->(TypeConstructorIdentifier) }
(TypeVariableIdentifier)
(KindSignature
(KindListType
(KindFunctionType
(Kind
(Star))
(Kind
(Star)))))
(Empty))))
(TypeClass
(Context'
(Statements
(Class
(TypeClassIdentifier)
(TypeVariableIdentifier))
(Class
(TypeClassIdentifier)
(TypeVariableIdentifier))))
(TypeClassIdentifier)
(TypeVariableIdentifier)
(TypeVariableIdentifier)
(TypeVariableIdentifier)
(FunctionalDependency
(Statements
(FunctionType
(Type
{ (TypeVariableIdentifier)
->(TypeVariableIdentifier) }
(TypeParameters)
(Empty))
(Type
{ (TypeVariableIdentifier)
->(TypeVariableIdentifier) }
(TypeParameters)
(Empty)))
(FunctionType
(Type
{ (TypeVariableIdentifier)
->(TypeVariableIdentifier) }
(TypeParameters)
(Empty))
(Type
{ (TypeVariableIdentifier)
->(TypeVariableIdentifier) }
(TypeParameters)
(Empty)))))
(Statements
(TypeSignature
(VariableIdentifier)
(Statements
(TypeVariableIdentifier)
(TypeVariableIdentifier)))))))

View File

@ -0,0 +1,597 @@
(Module
(Empty)
(Statements
(TypeClass
(Empty)
{ (TypeClassIdentifier)
->(TypeClassIdentifier) }
(TypeVariableIdentifier)
(Statements))
{+(TypeClass
{+(Empty)+}
{+(TypeClassIdentifier)+}
{+(TypeVariableIdentifier)+}
{+(TypeVariableIdentifier)+}
{+(Statements)+})+}
{+(TypeClass
{+(Context'
{+(Class
{+(TypeClassIdentifier)+}
{+(TypeVariableIdentifier)+})+})+}
{+(TypeClassIdentifier)+}
{+(TypeVariableIdentifier)+}
{+(Statements)+})+}
{+(TypeClass
{+(Context'
{+(Statements
{+(Class
{+(TypeClassIdentifier)+}
{+(TypeVariableIdentifier)+})+}
{+(Class
{+(TypeClassIdentifier)+}
{+(TypeVariableIdentifier)+})+})+})+}
{+(TypeClassIdentifier)+}
{+(TypeVariableIdentifier)+}
{+(Statements)+})+}
{+(TypeClass
{+(Empty)+}
{+(TypeClassIdentifier)+}
{+(TypeVariableIdentifier)+}
{+(Statements
{+(TypeSignature
{+(VariableIdentifier)+}
{+(Context'
{+(Class
{+(TypeClassIdentifier)+}
{+(TypeVariableIdentifier)+})+})+}
{+(FunctionType
{+(Type
{+(TypeVariableIdentifier)+}
{+(TypeParameters)+}
{+(Empty)+})+}
{+(FunctionType
{+(Type
{+(TypeVariableIdentifier)+}
{+(TypeParameters)+}
{+(Empty)+})+}
{+(Type
{+(TypeVariableIdentifier)+}
{+(TypeParameters)+}
{+(Empty)+})+})+})+})+}
{+(TypeSignature
{+(VariableIdentifier)+}
{+(Context'
{+(Statements
{+(Class
{+(TypeClassIdentifier)+}
{+(TypeVariableIdentifier)+})+}
{+(Class
{+(TypeClassIdentifier)+}
{+(TypeVariableIdentifier)+})+})+})+}
{+(FunctionType
{+(Type
{+(TypeVariableIdentifier)+}
{+(TypeParameters)+}
{+(Empty)+})+}
{+(FunctionType
{+(Type
{+(TypeVariableIdentifier)+}
{+(TypeParameters)+}
{+(Empty)+})+}
{+(Type
{+(TypeVariableIdentifier)+}
{+(TypeParameters)+}
{+(Empty)+})+})+})+})+})+})+}
{+(TypeClass
{+(Empty)+}
{+(TypeClassIdentifier)+}
{+(TypeVariableIdentifier)+}
{+(Statements
{+(Fixity'
{+(Empty)+}
{+(VariableOperator
{+(InfixVariableIdentifier)+})+})+}
{+(Fixity'
{+(Integer)+}
{+(VariableOperator
{+(InfixVariableIdentifier)+})+})+}
{+(Fixity'
{+(Integer)+}
{+(VariableOperator
{+(InfixVariableIdentifier)+})+}
{+(VariableOperator
{+(InfixVariableIdentifier)+})+}
{+(VariableOperator
{+(InfixVariableIdentifier)+})+})+}
{+(Fixity'
{+(Empty)+}
{+(VariableOperator
{+(VariableSymbol)+})+})+}
{+(Fixity'
{+(Integer)+}
{+(VariableOperator
{+(VariableSymbol)+})+})+}
{+(Fixity'
{+(Integer)+}
{+(ConstructorOperator
{+(ConstructorSymbol)+})+})+}
{+(Fixity'
{+(Integer)+}
{+(ConstructorOperator
{+(ConstructorSymbol)+})+})+}
{+(Fixity'
{+(Integer)+}
{+(ConstructorOperator
{+(ConstructorSymbol)+})+})+})+})+}
{+(TypeClass
{+(Context'
{+(Class
{+(TypeClassIdentifier)+}
{+(TypeVariableIdentifier)+})+})+}
{+(TypeClassIdentifier)+}
{+(TypeVariableIdentifier)+}
{+(Statements
{+(TypeSignature
{+(VariableIdentifier)+}
{+(FunctionType
{+(Type
{+(TypeVariableIdentifier)+}
{+(TypeParameters)+}
{+(Empty)+})+}
{+(FunctionType
{+(Type
{+(TypeVariableIdentifier)+}
{+(TypeParameters)+}
{+(Empty)+})+}
{+(Type
{+(TypeConstructorIdentifier)+}
{+(TypeParameters)+}
{+(Empty)+})+})+})+})+}
{+(TypeSignature
{+(VariableOperator
{+(VariableSymbol)+})+}
{+(VariableOperator
{+(VariableSymbol)+})+}
{+(VariableOperator
{+(VariableSymbol)+})+}
{+(VariableOperator
{+(VariableSymbol)+})+}
{+(FunctionType
{+(Type
{+(TypeVariableIdentifier)+}
{+(TypeParameters)+}
{+(Empty)+})+}
{+(FunctionType
{+(Type
{+(TypeVariableIdentifier)+}
{+(TypeParameters)+}
{+(Empty)+})+}
{+(Type
{+(TypeConstructorIdentifier)+}
{+(TypeParameters)+}
{+(Empty)+})+})+})+})+}
{+(TypeSignature
{+(VariableIdentifier)+}
{+(VariableIdentifier)+}
{+(FunctionType
{+(Type
{+(TypeVariableIdentifier)+}
{+(TypeParameters)+}
{+(Empty)+})+}
{+(FunctionType
{+(Type
{+(TypeVariableIdentifier)+}
{+(TypeParameters)+}
{+(Empty)+})+}
{+(Type
{+(TypeVariableIdentifier)+}
{+(TypeParameters)+}
{+(Empty)+})+})+})+})+}
{+(TypeSignature
{+(VariableIdentifier)+}
{+(TypeVariableIdentifier)+})+})+})+}
{+(TypeClass
{+(Context'
{+(Class
{+(TypeClassIdentifier)+}
{+(TypeVariableIdentifier)+}
{+(TypeVariableIdentifier)+}
{+(TypeVariableIdentifier)+})+})+}
{+(TypeClassIdentifier)+}
{+(TypeVariableIdentifier)+}
{+(TypeVariableIdentifier)+}
{+(TypeVariableIdentifier)+}
{+(Statements)+})+}
{+(TypeClass
{+(Empty)+}
{+(TypeClassIdentifier)+}
{+(TypeVariableIdentifier)+}
{+(Statements
{+(TypeSignature
{+(VariableIdentifier)+}
{+(FunctionType
{+(Type
{+(TypeVariableIdentifier)+}
{+(TypeParameters)+}
{+(Empty)+})+}
{+(Type
{+(TypeConstructorIdentifier)+}
{+(TypeParameters)+}
{+(Empty)+})+})+})+}
{+(DefaultSignature
{+(VariableIdentifier)+}
{+(FunctionType
{+(Type
{+(TypeVariableIdentifier)+}
{+(TypeParameters)+}
{+(Empty)+})+}
{+(Type
{+(TypeConstructorIdentifier)+}
{+(TypeParameters)+}
{+(Empty)+})+})+})+})+})+}
{+(TypeClass
{+(Empty)+}
{+(TypeClassIdentifier)+}
{+(AnnotatedTypeVariable
{+(TypeVariableIdentifier)+}
{+(TypeConstructorIdentifier)+})+}
{+(Statements)+})+}
{+(TypeClass
{+(Empty)+}
{+(TypeClassIdentifier)+}
{+(AnnotatedTypeVariable
{+(TypeVariableIdentifier)+}
{+(KindFunctionType
{+(Kind
{+(KindListType
{+(KindFunctionType
{+(Kind
{+(Star)+})+}
{+(Kind
{+(Star)+})+})+})+})+}
{+(KindFunctionType
{+(Kind
{+(Star)+})+}
{+(Kind
{+(Star)+})+})+})+})+}
{+(Statements)+})+}
{-(TypeClass
{-(Empty)-}
{-(TypeClassIdentifier)-}
{-(TypeVariableIdentifier)-}
{-(TypeVariableIdentifier)-}
{-(Statements)-})-}
{-(TypeClass
{-(Context'
{-(Class
{-(TypeClassIdentifier)-}
{-(TypeVariableIdentifier)-})-})-}
{-(TypeClassIdentifier)-}
{-(TypeVariableIdentifier)-}
{-(Statements)-})-}
{-(TypeClass
{-(Context'
{-(Statements
{-(Class
{-(TypeClassIdentifier)-}
{-(TypeVariableIdentifier)-})-}
{-(Class
{-(TypeClassIdentifier)-}
{-(TypeVariableIdentifier)-})-})-})-}
{-(TypeClassIdentifier)-}
{-(TypeVariableIdentifier)-}
{-(Statements)-})-}
{-(TypeClass
{-(Empty)-}
{-(TypeClassIdentifier)-}
{-(TypeVariableIdentifier)-}
{-(Statements
{-(TypeSignature
{-(VariableIdentifier)-}
{-(Context'
{-(Class
{-(TypeClassIdentifier)-}
{-(TypeVariableIdentifier)-})-})-}
{-(FunctionType
{-(Type
{-(TypeVariableIdentifier)-}
{-(TypeParameters)-}
{-(Empty)-})-}
{-(FunctionType
{-(Type
{-(TypeVariableIdentifier)-}
{-(TypeParameters)-}
{-(Empty)-})-}
{-(Type
{-(TypeVariableIdentifier)-}
{-(TypeParameters)-}
{-(Empty)-})-})-})-})-}
{-(TypeSignature
{-(VariableIdentifier)-}
{-(Context'
{-(Statements
{-(Class
{-(TypeClassIdentifier)-}
{-(TypeVariableIdentifier)-})-}
{-(Class
{-(TypeClassIdentifier)-}
{-(TypeVariableIdentifier)-})-})-})-}
{-(FunctionType
{-(Type
{-(TypeVariableIdentifier)-}
{-(TypeParameters)-}
{-(Empty)-})-}
{-(FunctionType
{-(Type
{-(TypeVariableIdentifier)-}
{-(TypeParameters)-}
{-(Empty)-})-}
{-(Type
{-(TypeVariableIdentifier)-}
{-(TypeParameters)-}
{-(Empty)-})-})-})-})-})-})-}
{-(TypeClass
{-(Empty)-}
{-(TypeClassIdentifier)-}
{-(TypeVariableIdentifier)-}
{-(Statements
{-(Fixity'
{-(Empty)-}
{-(VariableOperator
{-(InfixVariableIdentifier)-})-})-}
{-(Fixity'
{-(Integer)-}
{-(VariableOperator
{-(InfixVariableIdentifier)-})-})-}
{-(Fixity'
{-(Integer)-}
{-(VariableOperator
{-(InfixVariableIdentifier)-})-}
{-(VariableOperator
{-(InfixVariableIdentifier)-})-}
{-(VariableOperator
{-(InfixVariableIdentifier)-})-})-}
{-(Fixity'
{-(Empty)-}
{-(VariableOperator
{-(VariableSymbol)-})-})-}
{-(Fixity'
{-(Integer)-}
{-(VariableOperator
{-(VariableSymbol)-})-})-}
{-(Fixity'
{-(Integer)-}
{-(ConstructorOperator
{-(ConstructorSymbol)-})-})-}
{-(Fixity'
{-(Integer)-}
{-(ConstructorOperator
{-(ConstructorSymbol)-})-})-}
{-(Fixity'
{-(Integer)-}
{-(ConstructorOperator
{-(ConstructorSymbol)-})-})-})-})-}
{-(TypeClass
{-(Context'
{-(Class
{-(TypeClassIdentifier)-}
{-(TypeVariableIdentifier)-})-})-}
{-(TypeClassIdentifier)-}
{-(TypeVariableIdentifier)-}
{-(Statements
{-(TypeSignature
{-(VariableIdentifier)-}
{-(FunctionType
{-(Type
{-(TypeVariableIdentifier)-}
{-(TypeParameters)-}
{-(Empty)-})-}
{-(FunctionType
{-(Type
{-(TypeVariableIdentifier)-}
{-(TypeParameters)-}
{-(Empty)-})-}
{-(Type
{-(TypeConstructorIdentifier)-}
{-(TypeParameters)-}
{-(Empty)-})-})-})-})-}
{-(TypeSignature
{-(VariableOperator
{-(VariableSymbol)-})-}
{-(VariableOperator
{-(VariableSymbol)-})-}
{-(VariableOperator
{-(VariableSymbol)-})-}
{-(VariableOperator
{-(VariableSymbol)-})-}
{-(FunctionType
{-(Type
{-(TypeVariableIdentifier)-}
{-(TypeParameters)-}
{-(Empty)-})-}
{-(FunctionType
{-(Type
{-(TypeVariableIdentifier)-}
{-(TypeParameters)-}
{-(Empty)-})-}
{-(Type
{-(TypeConstructorIdentifier)-}
{-(TypeParameters)-}
{-(Empty)-})-})-})-})-}
{-(TypeSignature
{-(VariableIdentifier)-}
{-(VariableIdentifier)-}
{-(FunctionType
{-(Type
{-(TypeVariableIdentifier)-}
{-(TypeParameters)-}
{-(Empty)-})-}
{-(FunctionType
{-(Type
{-(TypeVariableIdentifier)-}
{-(TypeParameters)-}
{-(Empty)-})-}
{-(Type
{-(TypeVariableIdentifier)-}
{-(TypeParameters)-}
{-(Empty)-})-})-})-})-}
{-(TypeSignature
{-(VariableIdentifier)-}
{-(TypeVariableIdentifier)-})-})-})-}
{-(TypeClass
{-(Context'
{-(Class
{-(TypeClassIdentifier)-}
{-(TypeVariableIdentifier)-}
{-(TypeVariableIdentifier)-}
{-(TypeVariableIdentifier)-})-})-}
{-(TypeClassIdentifier)-}
{-(TypeVariableIdentifier)-}
{-(TypeVariableIdentifier)-}
{-(TypeVariableIdentifier)-}
{-(Statements)-})-}
{-(TypeClass
{-(Empty)-}
{-(TypeClassIdentifier)-}
{-(TypeVariableIdentifier)-}
{-(Statements
{-(TypeSignature
{-(VariableIdentifier)-}
{-(FunctionType
{-(Type
{-(TypeVariableIdentifier)-}
{-(TypeParameters)-}
{-(Empty)-})-}
{-(Type
{-(TypeConstructorIdentifier)-}
{-(TypeParameters)-}
{-(Empty)-})-})-})-}
{-(DefaultSignature
{-(VariableIdentifier)-}
{-(FunctionType
{-(Type
{-(TypeVariableIdentifier)-}
{-(TypeParameters)-}
{-(Empty)-})-}
{-(Type
{-(TypeConstructorIdentifier)-}
{-(TypeParameters)-}
{-(Empty)-})-})-})-})-})-}
{-(TypeClass
{-(Empty)-}
{-(TypeClassIdentifier)-}
{-(AnnotatedTypeVariable
{-(TypeVariableIdentifier)-}
{-(TypeConstructorIdentifier)-})-}
{-(Statements)-})-}
{-(TypeClass
{-(Empty)-}
{-(TypeClassIdentifier)-}
{-(AnnotatedTypeVariable
{-(TypeVariableIdentifier)-}
{-(KindFunctionType
{-(Kind
{-(KindListType
{-(KindFunctionType
{-(Kind
{-(Star)-})-}
{-(Kind
{-(Star)-})-})-})-})-}
{-(KindFunctionType
{-(Kind
{-(Star)-})-}
{-(Kind
{-(Star)-})-})-})-})-}
{-(Statements)-})-}
(TypeClass
(Empty)
(TypeClassIdentifier)
(TypeVariableIdentifier)
(Statements
(TypeSynonym
(Statements
(TypeConstructorIdentifier)
(TypeVariableIdentifier))
(TypeSignature
(TypeConstructorIdentifier)))))
(TypeClass
(Empty)
(TypeClassIdentifier)
(TypeVariableIdentifier)
(Statements
(TypeSynonym
(Statements
(TypeConstructorIdentifier)
(TypeVariableIdentifier))
(KindSignature
(KindListType
(KindFunctionType
(Kind
(Star))
(Kind
(Star))))))))
(TypeClass
(Context'
(Class
{ (TypeClassIdentifier)
->(TypeClassIdentifier) }
(TypeVariableIdentifier)))
{ (TypeClassIdentifier)
->(TypeClassIdentifier) }
(TypeVariableIdentifier)
(Statements
(TypeFamily
{ (TypeConstructorIdentifier)
->(TypeConstructorIdentifier) }
(TypeVariableIdentifier)
(KindSignature
(KindListType
(KindFunctionType
(Kind
(Star))
(Kind
(Star)))))
(Empty))))
(TypeClass
(Context'
(Statements
(Class
(TypeClassIdentifier)
(TypeVariableIdentifier))
(Class
(TypeClassIdentifier)
(TypeVariableIdentifier))))
(TypeClassIdentifier)
(TypeVariableIdentifier)
(TypeVariableIdentifier)
(TypeVariableIdentifier)
(FunctionalDependency
(Statements
(FunctionType
(Type
{ (TypeVariableIdentifier)
->(TypeVariableIdentifier) }
(TypeParameters)
(Empty))
(Type
{ (TypeVariableIdentifier)
->(TypeVariableIdentifier) }
(TypeParameters)
(Empty)))
(FunctionType
(Type
{ (TypeVariableIdentifier)
->(TypeVariableIdentifier) }
(TypeParameters)
(Empty))
(Type
{ (TypeVariableIdentifier)
->(TypeVariableIdentifier) }
(TypeParameters)
(Empty)))))
(Statements
(TypeSignature
(VariableIdentifier)
(Statements
(TypeVariableIdentifier)
(TypeVariableIdentifier)))))))

View File

@ -0,0 +1,341 @@
(Module
(Empty)
(Statements
(TypeClass
(Empty)
(TypeClassIdentifier)
(TypeVariableIdentifier)
(Statements))
(TypeClass
(Empty)
(TypeClassIdentifier)
(TypeVariableIdentifier)
(TypeVariableIdentifier)
(Statements))
(TypeClass
(Context'
(Class
(TypeClassIdentifier)
(TypeVariableIdentifier)))
(TypeClassIdentifier)
(TypeVariableIdentifier)
(Statements))
(TypeClass
(Context'
(Statements
(Class
(TypeClassIdentifier)
(TypeVariableIdentifier))
(Class
(TypeClassIdentifier)
(TypeVariableIdentifier))))
(TypeClassIdentifier)
(TypeVariableIdentifier)
(Statements))
(TypeClass
(Empty)
(TypeClassIdentifier)
(TypeVariableIdentifier)
(Statements
(TypeSignature
(VariableIdentifier)
(Context'
(Class
(TypeClassIdentifier)
(TypeVariableIdentifier)))
(FunctionType
(Type
(TypeVariableIdentifier)
(TypeParameters)
(Empty))
(FunctionType
(Type
(TypeVariableIdentifier)
(TypeParameters)
(Empty))
(Type
(TypeVariableIdentifier)
(TypeParameters)
(Empty)))))
(TypeSignature
(VariableIdentifier)
(Context'
(Statements
(Class
(TypeClassIdentifier)
(TypeVariableIdentifier))
(Class
(TypeClassIdentifier)
(TypeVariableIdentifier))))
(FunctionType
(Type
(TypeVariableIdentifier)
(TypeParameters)
(Empty))
(FunctionType
(Type
(TypeVariableIdentifier)
(TypeParameters)
(Empty))
(Type
(TypeVariableIdentifier)
(TypeParameters)
(Empty)))))))
(TypeClass
(Empty)
(TypeClassIdentifier)
(TypeVariableIdentifier)
(Statements
(Fixity'
(Empty)
(VariableOperator
(InfixVariableIdentifier)))
(Fixity'
(Integer)
(VariableOperator
(InfixVariableIdentifier)))
(Fixity'
(Integer)
(VariableOperator
(InfixVariableIdentifier))
(VariableOperator
(InfixVariableIdentifier))
(VariableOperator
(InfixVariableIdentifier)))
(Fixity'
(Empty)
(VariableOperator
(VariableSymbol)))
(Fixity'
(Integer)
(VariableOperator
(VariableSymbol)))
(Fixity'
(Integer)
(ConstructorOperator
(ConstructorSymbol)))
(Fixity'
(Integer)
(ConstructorOperator
(ConstructorSymbol)))
(Fixity'
(Integer)
(ConstructorOperator
(ConstructorSymbol)))))
(TypeClass
(Context'
(Class
(TypeClassIdentifier)
(TypeVariableIdentifier)))
(TypeClassIdentifier)
(TypeVariableIdentifier)
(Statements
(TypeSignature
(VariableIdentifier)
(FunctionType
(Type
(TypeVariableIdentifier)
(TypeParameters)
(Empty))
(FunctionType
(Type
(TypeVariableIdentifier)
(TypeParameters)
(Empty))
(Type
(TypeConstructorIdentifier)
(TypeParameters)
(Empty)))))
(TypeSignature
(VariableOperator
(VariableSymbol))
(VariableOperator
(VariableSymbol))
(VariableOperator
(VariableSymbol))
(VariableOperator
(VariableSymbol))
(FunctionType
(Type
(TypeVariableIdentifier)
(TypeParameters)
(Empty))
(FunctionType
(Type
(TypeVariableIdentifier)
(TypeParameters)
(Empty))
(Type
(TypeConstructorIdentifier)
(TypeParameters)
(Empty)))))
(TypeSignature
(VariableIdentifier)
(VariableIdentifier)
(FunctionType
(Type
(TypeVariableIdentifier)
(TypeParameters)
(Empty))
(FunctionType
(Type
(TypeVariableIdentifier)
(TypeParameters)
(Empty))
(Type
(TypeVariableIdentifier)
(TypeParameters)
(Empty)))))
(TypeSignature
(VariableIdentifier)
(TypeVariableIdentifier))))
(TypeClass
(Context'
(Class
(TypeClassIdentifier)
(TypeVariableIdentifier)
(TypeVariableIdentifier)
(TypeVariableIdentifier)))
(TypeClassIdentifier)
(TypeVariableIdentifier)
(TypeVariableIdentifier)
(TypeVariableIdentifier)
(Statements))
(TypeClass
(Empty)
(TypeClassIdentifier)
(TypeVariableIdentifier)
(Statements
(TypeSignature
(VariableIdentifier)
(FunctionType
(Type
(TypeVariableIdentifier)
(TypeParameters)
(Empty))
(Type
(TypeConstructorIdentifier)
(TypeParameters)
(Empty))))
(DefaultSignature
(VariableIdentifier)
(FunctionType
(Type
(TypeVariableIdentifier)
(TypeParameters)
(Empty))
(Type
(TypeConstructorIdentifier)
(TypeParameters)
(Empty))))))
(TypeClass
(Empty)
(TypeClassIdentifier)
(AnnotatedTypeVariable
(TypeVariableIdentifier)
(TypeConstructorIdentifier))
(Statements))
(TypeClass
(Empty)
(TypeClassIdentifier)
(AnnotatedTypeVariable
(TypeVariableIdentifier)
(KindFunctionType
(Kind
(KindListType
(KindFunctionType
(Kind
(Star))
(Kind
(Star)))))
(KindFunctionType
(Kind
(Star))
(Kind
(Star)))))
(Statements))
(TypeClass
(Empty)
(TypeClassIdentifier)
(TypeVariableIdentifier)
(Statements
(TypeSynonym
(Statements
(TypeConstructorIdentifier)
(TypeVariableIdentifier))
(TypeSignature
(TypeConstructorIdentifier)))))
(TypeClass
(Empty)
(TypeClassIdentifier)
(TypeVariableIdentifier)
(Statements
(TypeSynonym
(Statements
(TypeConstructorIdentifier)
(TypeVariableIdentifier))
(KindSignature
(KindListType
(KindFunctionType
(Kind
(Star))
(Kind
(Star))))))))
(TypeClass
(Context'
(Class
(TypeClassIdentifier)
(TypeVariableIdentifier)))
(TypeClassIdentifier)
(TypeVariableIdentifier)
(Statements
(TypeFamily
(TypeConstructorIdentifier)
(TypeVariableIdentifier)
(KindSignature
(KindListType
(KindFunctionType
(Kind
(Star))
(Kind
(Star)))))
(Empty))))
(TypeClass
(Context'
(Statements
(Class
(TypeClassIdentifier)
(TypeVariableIdentifier))
(Class
(TypeClassIdentifier)
(TypeVariableIdentifier))))
(TypeClassIdentifier)
(TypeVariableIdentifier)
(TypeVariableIdentifier)
(TypeVariableIdentifier)
(FunctionalDependency
(Statements
(FunctionType
(Type
(TypeVariableIdentifier)
(TypeParameters)
(Empty))
(Type
(TypeVariableIdentifier)
(TypeParameters)
(Empty)))
(FunctionType
(Type
(TypeVariableIdentifier)
(TypeParameters)
(Empty))
(Type
(TypeVariableIdentifier)
(TypeParameters)
(Empty)))))
(Statements
(TypeSignature
(VariableIdentifier)
(Statements
(TypeVariableIdentifier)
(TypeVariableIdentifier)))))))

View File

@ -0,0 +1,341 @@
(Module
(Empty)
(Statements
(TypeClass
(Empty)
(TypeClassIdentifier)
(TypeVariableIdentifier)
(Statements))
(TypeClass
(Empty)
(TypeClassIdentifier)
(TypeVariableIdentifier)
(TypeVariableIdentifier)
(Statements))
(TypeClass
(Context'
(Class
(TypeClassIdentifier)
(TypeVariableIdentifier)))
(TypeClassIdentifier)
(TypeVariableIdentifier)
(Statements))
(TypeClass
(Context'
(Statements
(Class
(TypeClassIdentifier)
(TypeVariableIdentifier))
(Class
(TypeClassIdentifier)
(TypeVariableIdentifier))))
(TypeClassIdentifier)
(TypeVariableIdentifier)
(Statements))
(TypeClass
(Empty)
(TypeClassIdentifier)
(TypeVariableIdentifier)
(Statements
(TypeSignature
(VariableIdentifier)
(Context'
(Class
(TypeClassIdentifier)
(TypeVariableIdentifier)))
(FunctionType
(Type
(TypeVariableIdentifier)
(TypeParameters)
(Empty))
(FunctionType
(Type
(TypeVariableIdentifier)
(TypeParameters)
(Empty))
(Type
(TypeVariableIdentifier)
(TypeParameters)
(Empty)))))
(TypeSignature
(VariableIdentifier)
(Context'
(Statements
(Class
(TypeClassIdentifier)
(TypeVariableIdentifier))
(Class
(TypeClassIdentifier)
(TypeVariableIdentifier))))
(FunctionType
(Type
(TypeVariableIdentifier)
(TypeParameters)
(Empty))
(FunctionType
(Type
(TypeVariableIdentifier)
(TypeParameters)
(Empty))
(Type
(TypeVariableIdentifier)
(TypeParameters)
(Empty)))))))
(TypeClass
(Empty)
(TypeClassIdentifier)
(TypeVariableIdentifier)
(Statements
(Fixity'
(Empty)
(VariableOperator
(InfixVariableIdentifier)))
(Fixity'
(Integer)
(VariableOperator
(InfixVariableIdentifier)))
(Fixity'
(Integer)
(VariableOperator
(InfixVariableIdentifier))
(VariableOperator
(InfixVariableIdentifier))
(VariableOperator
(InfixVariableIdentifier)))
(Fixity'
(Empty)
(VariableOperator
(VariableSymbol)))
(Fixity'
(Integer)
(VariableOperator
(VariableSymbol)))
(Fixity'
(Integer)
(ConstructorOperator
(ConstructorSymbol)))
(Fixity'
(Integer)
(ConstructorOperator
(ConstructorSymbol)))
(Fixity'
(Integer)
(ConstructorOperator
(ConstructorSymbol)))))
(TypeClass
(Context'
(Class
(TypeClassIdentifier)
(TypeVariableIdentifier)))
(TypeClassIdentifier)
(TypeVariableIdentifier)
(Statements
(TypeSignature
(VariableIdentifier)
(FunctionType
(Type
(TypeVariableIdentifier)
(TypeParameters)
(Empty))
(FunctionType
(Type
(TypeVariableIdentifier)
(TypeParameters)
(Empty))
(Type
(TypeConstructorIdentifier)
(TypeParameters)
(Empty)))))
(TypeSignature
(VariableOperator
(VariableSymbol))
(VariableOperator
(VariableSymbol))
(VariableOperator
(VariableSymbol))
(VariableOperator
(VariableSymbol))
(FunctionType
(Type
(TypeVariableIdentifier)
(TypeParameters)
(Empty))
(FunctionType
(Type
(TypeVariableIdentifier)
(TypeParameters)
(Empty))
(Type
(TypeConstructorIdentifier)
(TypeParameters)
(Empty)))))
(TypeSignature
(VariableIdentifier)
(VariableIdentifier)
(FunctionType
(Type
(TypeVariableIdentifier)
(TypeParameters)
(Empty))
(FunctionType
(Type
(TypeVariableIdentifier)
(TypeParameters)
(Empty))
(Type
(TypeVariableIdentifier)
(TypeParameters)
(Empty)))))
(TypeSignature
(VariableIdentifier)
(TypeVariableIdentifier))))
(TypeClass
(Context'
(Class
(TypeClassIdentifier)
(TypeVariableIdentifier)
(TypeVariableIdentifier)
(TypeVariableIdentifier)))
(TypeClassIdentifier)
(TypeVariableIdentifier)
(TypeVariableIdentifier)
(TypeVariableIdentifier)
(Statements))
(TypeClass
(Empty)
(TypeClassIdentifier)
(TypeVariableIdentifier)
(Statements
(TypeSignature
(VariableIdentifier)
(FunctionType
(Type
(TypeVariableIdentifier)
(TypeParameters)
(Empty))
(Type
(TypeConstructorIdentifier)
(TypeParameters)
(Empty))))
(DefaultSignature
(VariableIdentifier)
(FunctionType
(Type
(TypeVariableIdentifier)
(TypeParameters)
(Empty))
(Type
(TypeConstructorIdentifier)
(TypeParameters)
(Empty))))))
(TypeClass
(Empty)
(TypeClassIdentifier)
(AnnotatedTypeVariable
(TypeVariableIdentifier)
(TypeConstructorIdentifier))
(Statements))
(TypeClass
(Empty)
(TypeClassIdentifier)
(AnnotatedTypeVariable
(TypeVariableIdentifier)
(KindFunctionType
(Kind
(KindListType
(KindFunctionType
(Kind
(Star))
(Kind
(Star)))))
(KindFunctionType
(Kind
(Star))
(Kind
(Star)))))
(Statements))
(TypeClass
(Empty)
(TypeClassIdentifier)
(TypeVariableIdentifier)
(Statements
(TypeSynonym
(Statements
(TypeConstructorIdentifier)
(TypeVariableIdentifier))
(TypeSignature
(TypeConstructorIdentifier)))))
(TypeClass
(Empty)
(TypeClassIdentifier)
(TypeVariableIdentifier)
(Statements
(TypeSynonym
(Statements
(TypeConstructorIdentifier)
(TypeVariableIdentifier))
(KindSignature
(KindListType
(KindFunctionType
(Kind
(Star))
(Kind
(Star))))))))
(TypeClass
(Context'
(Class
(TypeClassIdentifier)
(TypeVariableIdentifier)))
(TypeClassIdentifier)
(TypeVariableIdentifier)
(Statements
(TypeFamily
(TypeConstructorIdentifier)
(TypeVariableIdentifier)
(KindSignature
(KindListType
(KindFunctionType
(Kind
(Star))
(Kind
(Star)))))
(Empty))))
(TypeClass
(Context'
(Statements
(Class
(TypeClassIdentifier)
(TypeVariableIdentifier))
(Class
(TypeClassIdentifier)
(TypeVariableIdentifier))))
(TypeClassIdentifier)
(TypeVariableIdentifier)
(TypeVariableIdentifier)
(TypeVariableIdentifier)
(FunctionalDependency
(Statements
(FunctionType
(Type
(TypeVariableIdentifier)
(TypeParameters)
(Empty))
(Type
(TypeVariableIdentifier)
(TypeParameters)
(Empty)))
(FunctionType
(Type
(TypeVariableIdentifier)
(TypeParameters)
(Empty))
(Type
(TypeVariableIdentifier)
(TypeParameters)
(Empty)))))
(Statements
(TypeSignature
(VariableIdentifier)
(Statements
(TypeVariableIdentifier)
(TypeVariableIdentifier)))))))

View File

@ -52,17 +52,17 @@
(TypeConstructorIdentifier))
(TypePattern
(TupleConstructor)))
(TypeSynonym
(Statements
(TypeConstructorIdentifier))
(TypePattern
{ (FunctionConstructor)
->(TupleConstructor) }))
{+(TypeSynonym
{+(Statements
{+(TypeConstructorIdentifier)+})+}
{+(TypePattern
{+(TupleConstructor)+})+})+}
(TypeSynonym
(Statements
{ (TypeConstructorIdentifier)
->(TypeConstructorIdentifier) })
(TypePattern
(FunctionConstructor)))
{+(FunctionConstructor)+})+})+}
(TypeSynonym
(Statements
(TypeConstructorIdentifier))

View File

@ -52,11 +52,12 @@
(TypeConstructorIdentifier))
(TypePattern
(TupleConstructor)))
{+(TypeSynonym
{+(Statements
{+(TypeConstructorIdentifier)+})+}
{+(TypePattern
{+(FunctionConstructor)+})+})+}
(TypeSynonym
(Statements
(TypeConstructorIdentifier))
(TypePattern
{ (TupleConstructor)
->(FunctionConstructor) }))
{+(TypeSynonym
{+(Statements
{+(TypeConstructorIdentifier)+})+}
@ -114,11 +115,14 @@
{+(TypeConstructorIdentifier)+}
{+(TypeVariableIdentifier)+})+})+}
{+(Empty)+})+})+})+})+})+}
{+(TypeSynonym
{+(Statements
{+(TypeConstructorIdentifier)+}
{+(TypeConstructorIdentifier)+})+}
{+(TextElement)+})+}
(TypeSynonym
(Statements
{ (TypeConstructorIdentifier)
->(TypeConstructorIdentifier) }
{+(TypeConstructorIdentifier)+})
{ (TypePattern
{-(FunctionConstructor)-})
->(TextElement) })
{+(TypeSynonym
{+(Statements
{+(TypeConstructorIdentifier)+}
@ -167,16 +171,6 @@
{+(TypeConstructorIdentifier)+}
{+(TypeVariableIdentifier)+}
{+(TypeVariableIdentifier)+})+})+})+})+}
{-(TypeSynonym
{-(Statements
{-(TypeConstructorIdentifier)-})-}
{-(TypePattern
{-(TupleConstructor)-})-})-}
{-(TypeSynonym
{-(Statements
{-(TypeConstructorIdentifier)-})-}
{-(TypePattern
{-(FunctionConstructor)-})-})-}
{-(TypeSynonym
{-(Statements
{-(TypeConstructorIdentifier)-})-}