None subtype of all (according to configuration flag)
Operator overloading for all binary operations
Fix #21
Variance relationships between tuples and functions
Inference for lambda functions
Some small changes made to imp code to make it type-able:
added __call__ method to Parser class in combinators.py (it is implemented by all its subclasses)
added eval method to Equality class (implemented by all its subclasses)
Cast ast variable in imp.py file
Rename id variable to id_t in file imp_parser.py because there is a built in function with name id
Commented line 127 in combinators.py because the type given to the first arg in self.function is a subtype of object (the type of result.value) So this line violates the variance relationships of functions
Added __class__ and __dict__ varialbes in Equality. Ideally they would have a built-n type for them. But they are not used in any special way in the whole imp project. Just needed for look up.
Removed __name__ if condition from imp.py because we don't have support for special variables yet, and its existence is not significant.
Cleaned up everything to be merge-able :D
Implemented features:
None
subtype of all (according to configuration flag)Some small changes made to imp code to make it type-able:
__call__
method toParser
class incombinators.py
(it is implemented by all its subclasses)eval
method toEquality
class (implemented by all its subclasses)ast
variable inimp.py
fileid
variable toid_t
in fileimp_parser.py
because there is a built in function with nameid
combinators.py
because the type given to the first arg inself.function
is a subtype ofobject
(the type of result.value) So this line violates the variance relationships of functions__class__
and__dict__
varialbes inEquality
. Ideally they would have a built-n type for them. But they are not used in any special way in the wholeimp
project. Just needed for look up.__name__
if condition fromimp.py
because we don't have support for special variables yet, and its existence is not significant.