You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Current implementation of implicit environment doesn't scale well into implicit declaration shadowing in presence of recursion. The following changes could be made.
Merge (most of) functionality of Env and ImplicitEnv. It should simplify the management of implicit declaration and allow to get rid of name maps returned by Pattern.check_type (or at least these maps would not be necessary to implement shadowing; they still might be useful for implementing or-patterns).
The environment could be responsible for detecting multiple definitions of the same name within e.g. block of recursive definitions. Current implementation based on syntactic checks (the Uniqueness module) is not able to detect multiple definitions of the same method. These check should be more semantic, because methods of the same name, but for different types should be considered different.
The text was updated successfully, but these errors were encountered:
Current implementation of implicit environment doesn't scale well into implicit declaration shadowing in presence of recursion. The following changes could be made.
Env
andImplicitEnv
. It should simplify the management of implicit declaration and allow to get rid of name maps returned byPattern.check_type
(or at least these maps would not be necessary to implement shadowing; they still might be useful for implementing or-patterns).Uniqueness
module) is not able to detect multiple definitions of the same method. These check should be more semantic, because methods of the same name, but for different types should be considered different.The text was updated successfully, but these errors were encountered: