mirror of
https://github.com/github/semantic.git
synced 2024-11-24 08:54:07 +03:00
Merge branch 'master' into fix-maybe-language
This commit is contained in:
commit
c35d00bf93
@ -182,7 +182,7 @@ instance Evaluatable Decorator
|
||||
|
||||
|
||||
-- | An ADT, i.e. a disjoint sum of products, like 'data' in Haskell, or 'enum' in Rust or Swift.
|
||||
data Datatype a = Datatype { datatypeName :: !a, datatypeConstructors :: ![a] }
|
||||
data Datatype a = Datatype { datatypeContext :: a, datatypeName :: a, datatypeConstructors :: [a], datatypeDeriving :: a }
|
||||
deriving (Eq, Ord, Show, Foldable, Traversable, Functor, Generic1, Hashable1, Diffable, Mergeable, FreeVariables1, Declarations1, ToJSONFields1)
|
||||
|
||||
instance Eq1 Data.Syntax.Declaration.Datatype where liftEq = genericLiftEq
|
||||
|
@ -33,7 +33,10 @@ type Syntax = '[
|
||||
, Literal.Float
|
||||
, Literal.Integer
|
||||
, Literal.TextElement
|
||||
, Syntax.Class
|
||||
, Syntax.Context
|
||||
, Syntax.Context'
|
||||
, Syntax.Deriving
|
||||
, Syntax.Empty
|
||||
, Syntax.Error
|
||||
, Syntax.Field
|
||||
@ -77,7 +80,9 @@ expressionChoices = [
|
||||
algebraicDatatypeDeclaration
|
||||
, character
|
||||
, comment
|
||||
, context'
|
||||
, constructorIdentifier
|
||||
, derivingClause
|
||||
, float
|
||||
, functionConstructor
|
||||
, functionDeclaration
|
||||
@ -105,9 +110,11 @@ algebraicDatatypeDeclaration :: Assignment
|
||||
algebraicDatatypeDeclaration = makeTerm
|
||||
<$> symbol AlgebraicDatatypeDeclaration
|
||||
<*> children (Declaration.Datatype
|
||||
<$> (makeTerm <$> location <*> (Syntax.Type <$> typeConstructor <*> typeParameters))
|
||||
<$> (context' <|> emptyTerm)
|
||||
<*> (makeTerm <$> location <*> (Syntax.Type <$> typeConstructor <*> typeParameters))
|
||||
<*> ((symbol Constructors *> children (many constructor))
|
||||
<|> pure []))
|
||||
<|> pure [])
|
||||
<*> (derivingClause <|> emptyTerm))
|
||||
|
||||
comment :: Assignment
|
||||
comment = makeTerm <$> symbol Comment <*> (Comment.Comment <$> source)
|
||||
@ -116,6 +123,18 @@ constructor :: Assignment
|
||||
constructor = (makeTerm <$> symbol DataConstructor <*> children (Declaration.Constructor <$> typeConstructor <*> typeParameters))
|
||||
<|> (makeTerm <$> symbol RecordDataConstructor <*> children (Syntax.RecordDataConstructor <$> constructorIdentifier <*> fields))
|
||||
|
||||
class' :: Assignment
|
||||
class' = makeTerm <$> symbol Class <*> children (Syntax.Class <$> typeConstructor <*> typeParameters)
|
||||
|
||||
context' :: Assignment
|
||||
context' = makeTerm <$> symbol Context <*> children (Syntax.Context' <$> many (type' <|> contextPattern))
|
||||
|
||||
contextPattern :: Assignment
|
||||
contextPattern = symbol ContextPattern *> children type'
|
||||
|
||||
derivingClause :: Assignment
|
||||
derivingClause = makeTerm <$> symbol Deriving <*> children (Syntax.Deriving <$> many typeConstructor)
|
||||
|
||||
fields :: Assignment
|
||||
fields = makeTerm <$> symbol Fields <*> children (many field)
|
||||
|
||||
@ -134,6 +153,9 @@ constructorIdentifier = makeTerm <$> symbol ConstructorIdentifier <*> (Syntax.Id
|
||||
moduleIdentifier :: Assignment
|
||||
moduleIdentifier = makeTerm <$> symbol ModuleIdentifier <*> (Syntax.Identifier . Name.name <$> source)
|
||||
|
||||
typeClassIdentifier :: Assignment
|
||||
typeClassIdentifier = makeTerm <$> symbol TypeClassIdentifier <*> (Syntax.Identifier . Name.name <$> source)
|
||||
|
||||
typeConstructorIdentifier :: Assignment
|
||||
typeConstructorIdentifier = makeTerm <$> symbol TypeConstructorIdentifier <*> (Syntax.Identifier . Name.name <$> source)
|
||||
|
||||
@ -177,6 +199,9 @@ listExpression = makeTerm <$> symbol ListExpression <*> children (Literal.Array
|
||||
listType :: Assignment
|
||||
listType = makeTerm <$> symbol ListType <*> children (Literal.Array <$> many type')
|
||||
|
||||
parenthesizedTypePattern :: Assignment
|
||||
parenthesizedTypePattern = symbol ParenthesizedTypePattern *> children typeParameters
|
||||
|
||||
strictType :: Assignment
|
||||
strictType = makeTerm' <$> symbol StrictType <*> children ((inject <$> (Syntax.StrictType <$> typeConstructor <*> typeParameters))
|
||||
<|> (inject <$> (Syntax.StrictTypeVariable <$> typeVariableIdentifier)))
|
||||
@ -189,8 +214,10 @@ tuplingConstructor = makeTerm <$> symbol TuplingConstructor <*> (tupleWithArity
|
||||
type' :: Assignment
|
||||
type' = (makeTerm <$> symbol Type <*> children (Syntax.Type <$> typeConstructor <*> typeParameters))
|
||||
<|> (makeTerm <$> symbol TypePattern <*> children (Syntax.Type <$> typeConstructor <*> typeParameters))
|
||||
<|> parenthesizedTypePattern
|
||||
<|> strictType
|
||||
<|> typeConstructor
|
||||
<|> class'
|
||||
|
||||
typeParameters :: Assignment
|
||||
typeParameters = makeTerm <$> location <*> (Type.TypeParameters <$> many expression)
|
||||
@ -205,13 +232,14 @@ string :: Assignment
|
||||
string = makeTerm <$> symbol String <*> (Literal.TextElement <$> source)
|
||||
|
||||
typeConstructor :: Assignment
|
||||
typeConstructor = typeConstructorIdentifier
|
||||
typeConstructor = constructorIdentifier
|
||||
<|> functionConstructor
|
||||
<|> listConstructor
|
||||
<|> listType
|
||||
<|> typeClassIdentifier
|
||||
<|> typeConstructorIdentifier
|
||||
<|> tuplingConstructor
|
||||
<|> unitConstructor
|
||||
<|> constructorIdentifier
|
||||
|
||||
typeSynonymDeclaration :: Assignment
|
||||
typeSynonymDeclaration = makeTerm
|
||||
|
@ -20,25 +20,21 @@ instance Show1 Module where liftShowsPrec = genericLiftShowsPrec
|
||||
instance Evaluatable Module
|
||||
|
||||
data StrictType a = StrictType { strictTypeIdentifier :: !a, strictTypeParameters :: !a }
|
||||
deriving (Diffable, Eq, Foldable, Functor, Generic1, Hashable1, Mergeable, Ord, Show, Traversable, FreeVariables1, Declarations1)
|
||||
deriving (Eq, Ord, Show, Foldable, Traversable, Functor, Generic1, Hashable1, Diffable, Mergeable, FreeVariables1, Declarations1, ToJSONFields1)
|
||||
|
||||
instance Eq1 StrictType where liftEq = genericLiftEq
|
||||
instance Ord1 StrictType where liftCompare = genericLiftCompare
|
||||
instance Show1 StrictType where liftShowsPrec = genericLiftShowsPrec
|
||||
|
||||
instance ToJSONFields1 StrictType
|
||||
|
||||
instance Evaluatable StrictType
|
||||
|
||||
newtype StrictTypeVariable a = StrictTypeVariable { strictTypeVariableIdentifier :: a }
|
||||
deriving (Diffable, Eq, Foldable, Functor, Generic1, Hashable1, Mergeable, Ord, Show, Traversable, FreeVariables1, Declarations1)
|
||||
deriving (Eq, Ord, Show, Foldable, Traversable, Functor, Generic1, Hashable1, Diffable, Mergeable, FreeVariables1, Declarations1, ToJSONFields1)
|
||||
|
||||
instance Eq1 StrictTypeVariable where liftEq = genericLiftEq
|
||||
instance Ord1 StrictTypeVariable where liftCompare = genericLiftCompare
|
||||
instance Show1 StrictTypeVariable where liftShowsPrec = genericLiftShowsPrec
|
||||
|
||||
instance ToJSONFields1 StrictTypeVariable
|
||||
|
||||
instance Evaluatable StrictTypeVariable
|
||||
|
||||
data Type a = Type { typeIdentifier :: !a, typeParameters :: !a }
|
||||
@ -59,7 +55,8 @@ instance Show1 TypeSynonym where liftShowsPrec = genericLiftShowsPrec
|
||||
|
||||
instance Evaluatable TypeSynonym
|
||||
|
||||
data UnitConstructor a = UnitConstructor deriving (Eq, Ord, Show, Foldable, Traversable, Functor, Generic1, Hashable1, Diffable, Mergeable, FreeVariables1, Declarations1, ToJSONFields1)
|
||||
data UnitConstructor a = UnitConstructor
|
||||
deriving (Eq, Ord, Show, Foldable, Traversable, Functor, Generic1, Hashable1, Diffable, Mergeable, FreeVariables1, Declarations1, ToJSONFields1)
|
||||
|
||||
instance Eq1 UnitConstructor where liftEq = genericLiftEq
|
||||
instance Ord1 UnitConstructor where liftCompare = genericLiftCompare
|
||||
@ -67,7 +64,8 @@ instance Show1 UnitConstructor where liftShowsPrec = genericLiftShowsPrec
|
||||
|
||||
instance Evaluatable UnitConstructor
|
||||
|
||||
newtype TupleConstructor a = TupleConstructor { tupleConstructorArity :: Int } deriving (Eq, Ord, Show, Foldable, Traversable, Functor, Generic1, Hashable1, Diffable, Mergeable, FreeVariables1, Declarations1, ToJSONFields1)
|
||||
newtype TupleConstructor a = TupleConstructor { tupleConstructorArity :: Int }
|
||||
deriving (Eq, Ord, Show, Foldable, Traversable, Functor, Generic1, Hashable1, Diffable, Mergeable, FreeVariables1, Declarations1, ToJSONFields1)
|
||||
|
||||
instance Eq1 TupleConstructor where liftEq = genericLiftEq
|
||||
instance Ord1 TupleConstructor where liftCompare = genericLiftCompare
|
||||
@ -75,7 +73,8 @@ instance Show1 TupleConstructor where liftShowsPrec = genericLiftShowsPrec
|
||||
|
||||
instance Evaluatable TupleConstructor
|
||||
|
||||
data ListConstructor a = ListConstructor deriving (Eq, Ord, Show, Foldable, Traversable, Functor, Generic1, Hashable1, Diffable, Mergeable, FreeVariables1, Declarations1, ToJSONFields1)
|
||||
data ListConstructor a = ListConstructor
|
||||
deriving (Eq, Ord, Show, Foldable, Traversable, Functor, Generic1, Hashable1, Diffable, Mergeable, FreeVariables1, Declarations1, ToJSONFields1)
|
||||
|
||||
instance Eq1 ListConstructor where liftEq = genericLiftEq
|
||||
instance Ord1 ListConstructor where liftCompare = genericLiftCompare
|
||||
@ -83,7 +82,8 @@ instance Show1 ListConstructor where liftShowsPrec = genericLiftShowsPrec
|
||||
|
||||
instance Evaluatable ListConstructor
|
||||
|
||||
data FunctionConstructor a = FunctionConstructor deriving (Eq, Ord, Show, Foldable, Traversable, Functor, Generic1, Hashable1, Diffable, Mergeable, FreeVariables1, Declarations1, ToJSONFields1)
|
||||
data FunctionConstructor a = FunctionConstructor
|
||||
deriving (Eq, Ord, Show, Foldable, Traversable, Functor, Generic1, Hashable1, Diffable, Mergeable, FreeVariables1, Declarations1, ToJSONFields1)
|
||||
|
||||
instance Eq1 FunctionConstructor where liftEq = genericLiftEq
|
||||
instance Ord1 FunctionConstructor where liftCompare = genericLiftCompare
|
||||
@ -91,32 +91,56 @@ instance Show1 FunctionConstructor where liftShowsPrec = genericLiftShowsPrec
|
||||
|
||||
instance Evaluatable FunctionConstructor
|
||||
|
||||
data RecordDataConstructor a = RecordDataConstructor { recordDataConstructorName :: !a, recordDataConstructorFields :: !a } deriving (Diffable, Eq, Foldable, Functor, Generic1, Hashable1, Mergeable, Ord, Show, Traversable, FreeVariables1, Declarations1)
|
||||
data RecordDataConstructor a = RecordDataConstructor { recordDataConstructorName :: !a, recordDataConstructorFields :: !a }
|
||||
deriving (Eq, Ord, Show, Foldable, Traversable, Functor, Generic1, Hashable1, Diffable, Mergeable, FreeVariables1, Declarations1, ToJSONFields1)
|
||||
|
||||
instance Eq1 RecordDataConstructor where liftEq = genericLiftEq
|
||||
instance Ord1 RecordDataConstructor where liftCompare = genericLiftCompare
|
||||
instance Show1 RecordDataConstructor where liftShowsPrec = genericLiftShowsPrec
|
||||
|
||||
instance ToJSONFields1 RecordDataConstructor
|
||||
|
||||
instance Evaluatable RecordDataConstructor
|
||||
|
||||
data Field a = Field { fieldName :: !a, fieldBody :: !a } deriving (Diffable, Eq, Foldable, Functor, Generic1, Hashable1, Mergeable, Ord, Show, Traversable, FreeVariables1, Declarations1)
|
||||
data Field a = Field { fieldName :: !a, fieldBody :: !a }
|
||||
deriving (Eq, Ord, Show, Foldable, Traversable, Functor, Generic1, Hashable1, Diffable, Mergeable, FreeVariables1, Declarations1, ToJSONFields1)
|
||||
|
||||
instance Eq1 Field where liftEq = genericLiftEq
|
||||
instance Ord1 Field where liftCompare = genericLiftCompare
|
||||
instance Show1 Field where liftShowsPrec = genericLiftShowsPrec
|
||||
|
||||
instance ToJSONFields1 Field
|
||||
|
||||
instance Evaluatable Field
|
||||
|
||||
newtype Pragma a = Pragma Text deriving (Diffable, Eq, Foldable, Functor, Generic1, Hashable1, Mergeable, Ord, Show, Traversable, FreeVariables1, Declarations1)
|
||||
newtype Pragma a = Pragma Text
|
||||
deriving (Eq, Ord, Show, Foldable, Traversable, Functor, Generic1, Hashable1, Diffable, Mergeable, FreeVariables1, Declarations1, ToJSONFields1)
|
||||
|
||||
instance Eq1 Pragma where liftEq = genericLiftEq
|
||||
instance Ord1 Pragma where liftCompare = genericLiftCompare
|
||||
instance Show1 Pragma where liftShowsPrec = genericLiftShowsPrec
|
||||
|
||||
instance ToJSONFields1 Pragma
|
||||
|
||||
instance Evaluatable Pragma
|
||||
|
||||
newtype Deriving a = Deriving [a]
|
||||
deriving (Eq, Ord, Show, Foldable, Traversable, Functor, Generic1, Hashable1, Diffable, Mergeable, FreeVariables1, Declarations1, ToJSONFields1)
|
||||
|
||||
instance Eq1 Deriving where liftEq = genericLiftEq
|
||||
instance Ord1 Deriving where liftCompare = genericLiftCompare
|
||||
instance Show1 Deriving where liftShowsPrec = genericLiftShowsPrec
|
||||
|
||||
instance Evaluatable Deriving
|
||||
|
||||
newtype Context' a = Context' [a]
|
||||
deriving (Eq, Ord, Show, Foldable, Traversable, Functor, Generic1, Hashable1, Diffable, Mergeable, FreeVariables1, Declarations1, ToJSONFields1)
|
||||
|
||||
instance Eq1 Context' where liftEq = genericLiftEq
|
||||
instance Ord1 Context' where liftCompare = genericLiftCompare
|
||||
instance Show1 Context' where liftShowsPrec = genericLiftShowsPrec
|
||||
|
||||
instance Evaluatable Context'
|
||||
|
||||
data Class a = Class { classType :: a, classTypeParameters :: a }
|
||||
deriving (Eq, Ord, Show, Foldable, Traversable, Functor, Generic1, Hashable1, Diffable, Mergeable, FreeVariables1, Declarations1, ToJSONFields1)
|
||||
|
||||
instance Eq1 Class where liftEq = genericLiftEq
|
||||
instance Ord1 Class where liftCompare = genericLiftCompare
|
||||
instance Show1 Class where liftShowsPrec = genericLiftShowsPrec
|
||||
|
||||
instance Evaluatable Class
|
||||
|
@ -16,3 +16,10 @@ data N = N { a :: !Int, b :: Int }
|
||||
data N = N { a, b :: {-# UNPACK #-} !Int, c :: String }
|
||||
data N = N { a :: Int } | O { b :: String }
|
||||
data N = N { b :: Int } | O { c :: String }
|
||||
|
||||
data N = N deriving Show
|
||||
data N = N deriving (Eq, Ord, Enum, Bounded, Show, Read)
|
||||
|
||||
data Show a => N a = N a
|
||||
data (Eq a, Show a, Eq b) => N a b = N a b
|
||||
data (Eq (f a), Functor f) => N f a = N f a
|
||||
|
@ -16,3 +16,10 @@ data O = O { a :: !Int, b :: Int }
|
||||
data O = O { a, b :: {-# UNPACK #-} !Int, c :: String }
|
||||
data N = N { b :: Int } | O { c :: String }
|
||||
data N = N { b :: Text } | O { c :: Bool }
|
||||
|
||||
data N = N deriving Show
|
||||
data N = N deriving (Functor, Ord, Enum, Bounded, Show, Read)
|
||||
|
||||
data Monad a => N a = N a
|
||||
data (Ord a, Show a, Eq b) => N a b = N a b
|
||||
data (Eq (f a), Applicative f) => N f a = N f a
|
||||
|
@ -2,11 +2,14 @@
|
||||
(Empty)
|
||||
(Statements
|
||||
(Datatype
|
||||
(Empty)
|
||||
(Type
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
(TypeParameters)))
|
||||
(TypeParameters))
|
||||
(Empty))
|
||||
(Datatype
|
||||
(Empty)
|
||||
(Type
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
@ -16,8 +19,10 @@
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
(TypeParameters
|
||||
(Identifier))))
|
||||
(Identifier)))
|
||||
(Empty))
|
||||
(Datatype
|
||||
(Empty)
|
||||
(Type
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
@ -28,8 +33,10 @@
|
||||
->(Identifier) }
|
||||
(TypeParameters
|
||||
(StrictTypeVariable
|
||||
(Identifier)))))
|
||||
(Identifier))))
|
||||
(Empty))
|
||||
(Datatype
|
||||
(Empty)
|
||||
(Type
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
@ -42,8 +49,10 @@
|
||||
(TypeParameters
|
||||
(StrictTypeVariable
|
||||
(Identifier))
|
||||
(Identifier))))
|
||||
(Identifier)))
|
||||
(Empty))
|
||||
(Datatype
|
||||
(Empty)
|
||||
(Type
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
@ -54,18 +63,20 @@
|
||||
{+(Constructor
|
||||
{+(Identifier)+}
|
||||
{+(TypeParameters)+})+}
|
||||
(Constructor
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
(TypeParameters))
|
||||
{+(Constructor
|
||||
{+(Identifier)+}
|
||||
{+(TypeParameters)+})+}
|
||||
{+(Constructor
|
||||
{+(Identifier)+}
|
||||
{+(TypeParameters)+})+}
|
||||
{+(Constructor
|
||||
{+(Identifier)+}
|
||||
{+(TypeParameters)+})+}
|
||||
{+(Constructor
|
||||
{+(Identifier)+}
|
||||
{+(TypeParameters)+})+}
|
||||
(Constructor
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
(TypeParameters))
|
||||
{-(Constructor
|
||||
{-(Identifier)-}
|
||||
{-(TypeParameters)-})-}
|
||||
@ -78,13 +89,9 @@
|
||||
{-(Constructor
|
||||
{-(Identifier)-}
|
||||
{-(TypeParameters)-})-}
|
||||
{-(Constructor
|
||||
{-(Identifier)-}
|
||||
{-(TypeParameters)-})-}
|
||||
{-(Constructor
|
||||
{-(Identifier)-}
|
||||
{-(TypeParameters)-})-})
|
||||
(Empty))
|
||||
(Datatype
|
||||
(Empty)
|
||||
(Type
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
@ -96,8 +103,10 @@
|
||||
(Field
|
||||
(Statements
|
||||
(Identifier))
|
||||
(Identifier)))))
|
||||
(Identifier))))
|
||||
(Empty))
|
||||
(Datatype
|
||||
(Empty)
|
||||
(Type
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
@ -110,8 +119,10 @@
|
||||
(Statements
|
||||
(Identifier)
|
||||
(Identifier))
|
||||
(Identifier)))))
|
||||
(Identifier))))
|
||||
(Empty))
|
||||
(Datatype
|
||||
(Empty)
|
||||
(Type
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
@ -129,8 +140,10 @@
|
||||
(Field
|
||||
(Statements
|
||||
(Identifier))
|
||||
(Identifier)))))
|
||||
(Identifier))))
|
||||
(Empty))
|
||||
(Datatype
|
||||
(Empty)
|
||||
(Type
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
@ -151,8 +164,10 @@
|
||||
(Field
|
||||
(Statements
|
||||
(Identifier))
|
||||
(Identifier)))))
|
||||
(Identifier))))
|
||||
(Empty))
|
||||
{-(Datatype
|
||||
{-(Empty)-}
|
||||
{-(Type
|
||||
{-(Identifier)-}
|
||||
{-(TypeParameters)-})-}
|
||||
@ -169,8 +184,10 @@
|
||||
{-(Field
|
||||
{-(Statements
|
||||
{-(Identifier)-})-}
|
||||
{-(Identifier)-})-})-})-})-}
|
||||
{-(Identifier)-})-})-})-}
|
||||
{-(Empty)-})-}
|
||||
(Datatype
|
||||
(Empty)
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeParameters))
|
||||
@ -187,8 +204,10 @@
|
||||
(Field
|
||||
(Statements
|
||||
(Identifier))
|
||||
(Identifier)))))
|
||||
(Identifier))))
|
||||
(Empty))
|
||||
{+(Datatype
|
||||
{+(Empty)+}
|
||||
{+(Type
|
||||
{+(Identifier)+}
|
||||
{+(TypeParameters)+})+}
|
||||
@ -205,4 +224,97 @@
|
||||
{+(Field
|
||||
{+(Statements
|
||||
{+(Identifier)+})+}
|
||||
{+(Identifier)+})+})+})+})+}))
|
||||
{+(Identifier)+})+})+})+}
|
||||
{+(Empty)+})+}
|
||||
(Datatype
|
||||
(Empty)
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeParameters))
|
||||
(Constructor
|
||||
(Identifier)
|
||||
(TypeParameters))
|
||||
(Deriving
|
||||
(Identifier)))
|
||||
(Datatype
|
||||
(Empty)
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeParameters))
|
||||
(Constructor
|
||||
(Identifier)
|
||||
(TypeParameters))
|
||||
(Deriving
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
(Identifier)
|
||||
(Identifier)
|
||||
(Identifier)
|
||||
(Identifier)
|
||||
(Identifier)))
|
||||
(Datatype
|
||||
(Context'
|
||||
(Class
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
(TypeParameters
|
||||
(Identifier))))
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeParameters
|
||||
(Identifier)))
|
||||
(Constructor
|
||||
(Identifier)
|
||||
(TypeParameters
|
||||
(Identifier)))
|
||||
(Empty))
|
||||
(Datatype
|
||||
(Context'
|
||||
(Class
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
(TypeParameters
|
||||
(Identifier)))
|
||||
(Class
|
||||
(Identifier)
|
||||
(TypeParameters
|
||||
(Identifier)))
|
||||
(Class
|
||||
(Identifier)
|
||||
(TypeParameters
|
||||
(Identifier))))
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeParameters
|
||||
(Identifier)
|
||||
(Identifier)))
|
||||
(Constructor
|
||||
(Identifier)
|
||||
(TypeParameters
|
||||
(Identifier)
|
||||
(Identifier)))
|
||||
(Empty))
|
||||
(Datatype
|
||||
(Context'
|
||||
(Class
|
||||
(Identifier)
|
||||
(TypeParameters
|
||||
(TypeParameters
|
||||
(Identifier)
|
||||
(Identifier))))
|
||||
(Class
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
(TypeParameters
|
||||
(Identifier))))
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeParameters
|
||||
(Identifier)
|
||||
(Identifier)))
|
||||
(Constructor
|
||||
(Identifier)
|
||||
(TypeParameters
|
||||
(Identifier)
|
||||
(Identifier)))
|
||||
(Empty))))
|
||||
|
@ -2,11 +2,14 @@
|
||||
(Empty)
|
||||
(Statements
|
||||
(Datatype
|
||||
(Empty)
|
||||
(Type
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
(TypeParameters)))
|
||||
(TypeParameters))
|
||||
(Empty))
|
||||
(Datatype
|
||||
(Empty)
|
||||
(Type
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
@ -16,8 +19,10 @@
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
(TypeParameters
|
||||
(Identifier))))
|
||||
(Identifier)))
|
||||
(Empty))
|
||||
(Datatype
|
||||
(Empty)
|
||||
(Type
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
@ -28,8 +33,10 @@
|
||||
->(Identifier) }
|
||||
(TypeParameters
|
||||
(StrictTypeVariable
|
||||
(Identifier)))))
|
||||
(Identifier))))
|
||||
(Empty))
|
||||
(Datatype
|
||||
(Empty)
|
||||
(Type
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
@ -42,8 +49,10 @@
|
||||
(TypeParameters
|
||||
(StrictTypeVariable
|
||||
(Identifier))
|
||||
(Identifier))))
|
||||
(Identifier)))
|
||||
(Empty))
|
||||
(Datatype
|
||||
(Empty)
|
||||
(Type
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
@ -55,20 +64,19 @@
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
(TypeParameters))
|
||||
(Constructor
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
(TypeParameters))
|
||||
{+(Constructor
|
||||
{+(Identifier)+}
|
||||
{+(TypeParameters)+})+}
|
||||
{+(Constructor
|
||||
{+(Identifier)+}
|
||||
{+(TypeParameters)+})+}
|
||||
{+(Constructor
|
||||
{+(Identifier)+}
|
||||
{+(TypeParameters)+})+}
|
||||
(Constructor
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
(TypeParameters))
|
||||
(Constructor
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
(TypeParameters))
|
||||
{-(Constructor
|
||||
{-(Identifier)-}
|
||||
{-(TypeParameters)-})-}
|
||||
@ -77,8 +85,13 @@
|
||||
{-(TypeParameters)-})-}
|
||||
{-(Constructor
|
||||
{-(Identifier)-}
|
||||
{-(TypeParameters)-})-})
|
||||
{-(TypeParameters)-})-}
|
||||
{-(Constructor
|
||||
{-(Identifier)-}
|
||||
{-(TypeParameters)-})-}
|
||||
(Empty))
|
||||
(Datatype
|
||||
(Empty)
|
||||
(Type
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
@ -90,8 +103,10 @@
|
||||
(Field
|
||||
(Statements
|
||||
(Identifier))
|
||||
(Identifier)))))
|
||||
(Identifier))))
|
||||
(Empty))
|
||||
(Datatype
|
||||
(Empty)
|
||||
(Type
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
@ -104,8 +119,10 @@
|
||||
(Statements
|
||||
(Identifier)
|
||||
(Identifier))
|
||||
(Identifier)))))
|
||||
(Identifier))))
|
||||
(Empty))
|
||||
(Datatype
|
||||
(Empty)
|
||||
(Type
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
@ -123,8 +140,10 @@
|
||||
(Field
|
||||
(Statements
|
||||
(Identifier))
|
||||
(Identifier)))))
|
||||
(Identifier))))
|
||||
(Empty))
|
||||
(Datatype
|
||||
(Empty)
|
||||
(Type
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
@ -145,8 +164,10 @@
|
||||
(Field
|
||||
(Statements
|
||||
(Identifier))
|
||||
(Identifier)))))
|
||||
(Identifier))))
|
||||
(Empty))
|
||||
{+(Datatype
|
||||
{+(Empty)+}
|
||||
{+(Type
|
||||
{+(Identifier)+}
|
||||
{+(TypeParameters)+})+}
|
||||
@ -163,8 +184,10 @@
|
||||
{+(Field
|
||||
{+(Statements
|
||||
{+(Identifier)+})+}
|
||||
{+(Identifier)+})+})+})+})+}
|
||||
{+(Identifier)+})+})+})+}
|
||||
{+(Empty)+})+}
|
||||
(Datatype
|
||||
(Empty)
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeParameters))
|
||||
@ -181,8 +204,10 @@
|
||||
(Field
|
||||
(Statements
|
||||
(Identifier))
|
||||
(Identifier)))))
|
||||
(Identifier))))
|
||||
(Empty))
|
||||
{-(Datatype
|
||||
{-(Empty)-}
|
||||
{-(Type
|
||||
{-(Identifier)-}
|
||||
{-(TypeParameters)-})-}
|
||||
@ -199,4 +224,97 @@
|
||||
{-(Field
|
||||
{-(Statements
|
||||
{-(Identifier)-})-}
|
||||
{-(Identifier)-})-})-})-})-}))
|
||||
{-(Identifier)-})-})-})-}
|
||||
{-(Empty)-})-}
|
||||
(Datatype
|
||||
(Empty)
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeParameters))
|
||||
(Constructor
|
||||
(Identifier)
|
||||
(TypeParameters))
|
||||
(Deriving
|
||||
(Identifier)))
|
||||
(Datatype
|
||||
(Empty)
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeParameters))
|
||||
(Constructor
|
||||
(Identifier)
|
||||
(TypeParameters))
|
||||
(Deriving
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
(Identifier)
|
||||
(Identifier)
|
||||
(Identifier)
|
||||
(Identifier)
|
||||
(Identifier)))
|
||||
(Datatype
|
||||
(Context'
|
||||
(Class
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
(TypeParameters
|
||||
(Identifier))))
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeParameters
|
||||
(Identifier)))
|
||||
(Constructor
|
||||
(Identifier)
|
||||
(TypeParameters
|
||||
(Identifier)))
|
||||
(Empty))
|
||||
(Datatype
|
||||
(Context'
|
||||
(Class
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
(TypeParameters
|
||||
(Identifier)))
|
||||
(Class
|
||||
(Identifier)
|
||||
(TypeParameters
|
||||
(Identifier)))
|
||||
(Class
|
||||
(Identifier)
|
||||
(TypeParameters
|
||||
(Identifier))))
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeParameters
|
||||
(Identifier)
|
||||
(Identifier)))
|
||||
(Constructor
|
||||
(Identifier)
|
||||
(TypeParameters
|
||||
(Identifier)
|
||||
(Identifier)))
|
||||
(Empty))
|
||||
(Datatype
|
||||
(Context'
|
||||
(Class
|
||||
(Identifier)
|
||||
(TypeParameters
|
||||
(TypeParameters
|
||||
(Identifier)
|
||||
(Identifier))))
|
||||
(Class
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
(TypeParameters
|
||||
(Identifier))))
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeParameters
|
||||
(Identifier)
|
||||
(Identifier)))
|
||||
(Constructor
|
||||
(Identifier)
|
||||
(TypeParameters
|
||||
(Identifier)
|
||||
(Identifier)))
|
||||
(Empty))))
|
||||
|
@ -2,10 +2,13 @@
|
||||
(Empty)
|
||||
(Statements
|
||||
(Datatype
|
||||
(Empty)
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeParameters)))
|
||||
(TypeParameters))
|
||||
(Empty))
|
||||
(Datatype
|
||||
(Empty)
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeParameters
|
||||
@ -13,8 +16,10 @@
|
||||
(Constructor
|
||||
(Identifier)
|
||||
(TypeParameters
|
||||
(Identifier))))
|
||||
(Identifier)))
|
||||
(Empty))
|
||||
(Datatype
|
||||
(Empty)
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeParameters
|
||||
@ -23,8 +28,10 @@
|
||||
(Identifier)
|
||||
(TypeParameters
|
||||
(StrictTypeVariable
|
||||
(Identifier)))))
|
||||
(Identifier))))
|
||||
(Empty))
|
||||
(Datatype
|
||||
(Empty)
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeParameters
|
||||
@ -35,8 +42,10 @@
|
||||
(TypeParameters
|
||||
(StrictTypeVariable
|
||||
(Identifier))
|
||||
(Identifier))))
|
||||
(Identifier)))
|
||||
(Empty))
|
||||
(Datatype
|
||||
(Empty)
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeParameters))
|
||||
@ -57,8 +66,10 @@
|
||||
(TypeParameters))
|
||||
(Constructor
|
||||
(Identifier)
|
||||
(TypeParameters)))
|
||||
(TypeParameters))
|
||||
(Empty))
|
||||
(Datatype
|
||||
(Empty)
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeParameters))
|
||||
@ -68,8 +79,10 @@
|
||||
(Field
|
||||
(Statements
|
||||
(Identifier))
|
||||
(Identifier)))))
|
||||
(Identifier))))
|
||||
(Empty))
|
||||
(Datatype
|
||||
(Empty)
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeParameters))
|
||||
@ -80,8 +93,10 @@
|
||||
(Statements
|
||||
(Identifier)
|
||||
(Identifier))
|
||||
(Identifier)))))
|
||||
(Identifier))))
|
||||
(Empty))
|
||||
(Datatype
|
||||
(Empty)
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeParameters))
|
||||
@ -97,8 +112,10 @@
|
||||
(Field
|
||||
(Statements
|
||||
(Identifier))
|
||||
(Identifier)))))
|
||||
(Identifier))))
|
||||
(Empty))
|
||||
(Datatype
|
||||
(Empty)
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeParameters))
|
||||
@ -117,8 +134,10 @@
|
||||
(Field
|
||||
(Statements
|
||||
(Identifier))
|
||||
(Identifier)))))
|
||||
(Identifier))))
|
||||
(Empty))
|
||||
(Datatype
|
||||
(Empty)
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeParameters))
|
||||
@ -135,8 +154,10 @@
|
||||
(Field
|
||||
(Statements
|
||||
(Identifier))
|
||||
(Identifier)))))
|
||||
(Identifier))))
|
||||
(Empty))
|
||||
(Datatype
|
||||
(Empty)
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeParameters))
|
||||
@ -153,4 +174,93 @@
|
||||
(Field
|
||||
(Statements
|
||||
(Identifier))
|
||||
(Identifier)))))))
|
||||
(Identifier))))
|
||||
(Empty))
|
||||
(Datatype
|
||||
(Empty)
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeParameters))
|
||||
(Constructor
|
||||
(Identifier)
|
||||
(TypeParameters))
|
||||
(Deriving
|
||||
(Identifier)))
|
||||
(Datatype
|
||||
(Empty)
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeParameters))
|
||||
(Constructor
|
||||
(Identifier)
|
||||
(TypeParameters))
|
||||
(Deriving
|
||||
(Identifier)
|
||||
(Identifier)
|
||||
(Identifier)
|
||||
(Identifier)
|
||||
(Identifier)
|
||||
(Identifier)))
|
||||
(Datatype
|
||||
(Context'
|
||||
(Class
|
||||
(Identifier)
|
||||
(TypeParameters
|
||||
(Identifier))))
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeParameters
|
||||
(Identifier)))
|
||||
(Constructor
|
||||
(Identifier)
|
||||
(TypeParameters
|
||||
(Identifier)))
|
||||
(Empty))
|
||||
(Datatype
|
||||
(Context'
|
||||
(Class
|
||||
(Identifier)
|
||||
(TypeParameters
|
||||
(Identifier)))
|
||||
(Class
|
||||
(Identifier)
|
||||
(TypeParameters
|
||||
(Identifier)))
|
||||
(Class
|
||||
(Identifier)
|
||||
(TypeParameters
|
||||
(Identifier))))
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeParameters
|
||||
(Identifier)
|
||||
(Identifier)))
|
||||
(Constructor
|
||||
(Identifier)
|
||||
(TypeParameters
|
||||
(Identifier)
|
||||
(Identifier)))
|
||||
(Empty))
|
||||
(Datatype
|
||||
(Context'
|
||||
(Class
|
||||
(Identifier)
|
||||
(TypeParameters
|
||||
(TypeParameters
|
||||
(Identifier)
|
||||
(Identifier))))
|
||||
(Class
|
||||
(Identifier)
|
||||
(TypeParameters
|
||||
(Identifier))))
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeParameters
|
||||
(Identifier)
|
||||
(Identifier)))
|
||||
(Constructor
|
||||
(Identifier)
|
||||
(TypeParameters
|
||||
(Identifier)
|
||||
(Identifier)))
|
||||
(Empty))))
|
||||
|
@ -2,10 +2,13 @@
|
||||
(Empty)
|
||||
(Statements
|
||||
(Datatype
|
||||
(Empty)
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeParameters)))
|
||||
(TypeParameters))
|
||||
(Empty))
|
||||
(Datatype
|
||||
(Empty)
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeParameters
|
||||
@ -13,8 +16,10 @@
|
||||
(Constructor
|
||||
(Identifier)
|
||||
(TypeParameters
|
||||
(Identifier))))
|
||||
(Identifier)))
|
||||
(Empty))
|
||||
(Datatype
|
||||
(Empty)
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeParameters
|
||||
@ -23,8 +28,10 @@
|
||||
(Identifier)
|
||||
(TypeParameters
|
||||
(StrictTypeVariable
|
||||
(Identifier)))))
|
||||
(Identifier))))
|
||||
(Empty))
|
||||
(Datatype
|
||||
(Empty)
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeParameters
|
||||
@ -35,8 +42,10 @@
|
||||
(TypeParameters
|
||||
(StrictTypeVariable
|
||||
(Identifier))
|
||||
(Identifier))))
|
||||
(Identifier)))
|
||||
(Empty))
|
||||
(Datatype
|
||||
(Empty)
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeParameters))
|
||||
@ -57,8 +66,10 @@
|
||||
(TypeParameters))
|
||||
(Constructor
|
||||
(Identifier)
|
||||
(TypeParameters)))
|
||||
(TypeParameters))
|
||||
(Empty))
|
||||
(Datatype
|
||||
(Empty)
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeParameters))
|
||||
@ -68,8 +79,10 @@
|
||||
(Field
|
||||
(Statements
|
||||
(Identifier))
|
||||
(Identifier)))))
|
||||
(Identifier))))
|
||||
(Empty))
|
||||
(Datatype
|
||||
(Empty)
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeParameters))
|
||||
@ -80,8 +93,10 @@
|
||||
(Statements
|
||||
(Identifier)
|
||||
(Identifier))
|
||||
(Identifier)))))
|
||||
(Identifier))))
|
||||
(Empty))
|
||||
(Datatype
|
||||
(Empty)
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeParameters))
|
||||
@ -97,8 +112,10 @@
|
||||
(Field
|
||||
(Statements
|
||||
(Identifier))
|
||||
(Identifier)))))
|
||||
(Identifier))))
|
||||
(Empty))
|
||||
(Datatype
|
||||
(Empty)
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeParameters))
|
||||
@ -117,8 +134,10 @@
|
||||
(Field
|
||||
(Statements
|
||||
(Identifier))
|
||||
(Identifier)))))
|
||||
(Identifier))))
|
||||
(Empty))
|
||||
(Datatype
|
||||
(Empty)
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeParameters))
|
||||
@ -135,8 +154,10 @@
|
||||
(Field
|
||||
(Statements
|
||||
(Identifier))
|
||||
(Identifier)))))
|
||||
(Identifier))))
|
||||
(Empty))
|
||||
(Datatype
|
||||
(Empty)
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeParameters))
|
||||
@ -153,4 +174,93 @@
|
||||
(Field
|
||||
(Statements
|
||||
(Identifier))
|
||||
(Identifier)))))))
|
||||
(Identifier))))
|
||||
(Empty))
|
||||
(Datatype
|
||||
(Empty)
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeParameters))
|
||||
(Constructor
|
||||
(Identifier)
|
||||
(TypeParameters))
|
||||
(Deriving
|
||||
(Identifier)))
|
||||
(Datatype
|
||||
(Empty)
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeParameters))
|
||||
(Constructor
|
||||
(Identifier)
|
||||
(TypeParameters))
|
||||
(Deriving
|
||||
(Identifier)
|
||||
(Identifier)
|
||||
(Identifier)
|
||||
(Identifier)
|
||||
(Identifier)
|
||||
(Identifier)))
|
||||
(Datatype
|
||||
(Context'
|
||||
(Class
|
||||
(Identifier)
|
||||
(TypeParameters
|
||||
(Identifier))))
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeParameters
|
||||
(Identifier)))
|
||||
(Constructor
|
||||
(Identifier)
|
||||
(TypeParameters
|
||||
(Identifier)))
|
||||
(Empty))
|
||||
(Datatype
|
||||
(Context'
|
||||
(Class
|
||||
(Identifier)
|
||||
(TypeParameters
|
||||
(Identifier)))
|
||||
(Class
|
||||
(Identifier)
|
||||
(TypeParameters
|
||||
(Identifier)))
|
||||
(Class
|
||||
(Identifier)
|
||||
(TypeParameters
|
||||
(Identifier))))
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeParameters
|
||||
(Identifier)
|
||||
(Identifier)))
|
||||
(Constructor
|
||||
(Identifier)
|
||||
(TypeParameters
|
||||
(Identifier)
|
||||
(Identifier)))
|
||||
(Empty))
|
||||
(Datatype
|
||||
(Context'
|
||||
(Class
|
||||
(Identifier)
|
||||
(TypeParameters
|
||||
(TypeParameters
|
||||
(Identifier)
|
||||
(Identifier))))
|
||||
(Class
|
||||
(Identifier)
|
||||
(TypeParameters
|
||||
(Identifier))))
|
||||
(Type
|
||||
(Identifier)
|
||||
(TypeParameters
|
||||
(Identifier)
|
||||
(Identifier)))
|
||||
(Constructor
|
||||
(Identifier)
|
||||
(TypeParameters
|
||||
(Identifier)
|
||||
(Identifier)))
|
||||
(Empty))))
|
||||
|
@ -1,11 +1,10 @@
|
||||
(Module
|
||||
(Identifier)
|
||||
(Statements
|
||||
(Function
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
(Statements
|
||||
(Integer)))
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(Statements
|
||||
{+(Integer)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(Statements
|
||||
@ -284,6 +283,10 @@
|
||||
{-(Identifier)-}
|
||||
{-(Statements
|
||||
{-(Integer)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(Statements
|
||||
{-(Integer)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(Statements
|
||||
|
@ -1,11 +1,10 @@
|
||||
(Module
|
||||
(Identifier)
|
||||
(Statements
|
||||
(Function
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
(Statements
|
||||
(Integer)))
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(Statements
|
||||
{+(Integer)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(Statements
|
||||
@ -54,12 +53,10 @@
|
||||
{+(Identifier)+}
|
||||
{+(Statements
|
||||
{+(Float)+})+})+}
|
||||
(Function
|
||||
{ (Identifier)
|
||||
->(Identifier) }
|
||||
(Statements
|
||||
{+(Float)+}
|
||||
{-(Integer)-}))
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(Statements
|
||||
{+(Float)+})+})+}
|
||||
{+(Function
|
||||
{+(Identifier)+}
|
||||
{+(Statements
|
||||
@ -282,6 +279,14 @@
|
||||
{-(Identifier)-}
|
||||
{-(Statements
|
||||
{-(Integer)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(Statements
|
||||
{-(Integer)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(Statements
|
||||
{-(Integer)-})-})-}
|
||||
{-(Function
|
||||
{-(Identifier)-}
|
||||
{-(Statements
|
||||
|
Loading…
Reference in New Issue
Block a user