Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactor the implementation of environments and implicit environments #98

Open
ppolesiuk opened this issue May 13, 2024 · 0 comments
Open
Labels
enhancement New feature or request

Comments

@ppolesiuk
Copy link
Member

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.
@ppolesiuk ppolesiuk added the enhancement New feature or request label May 13, 2024
@ppolesiuk ppolesiuk mentioned this issue Jan 13, 2025
9 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant