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

Revise Identifier implementation #381

Closed
n-osborne opened this issue Jan 29, 2024 · 2 comments
Closed

Revise Identifier implementation #381

n-osborne opened this issue Jan 29, 2024 · 2 comments
Labels
enhancement New feature or request
Milestone

Comments

@n-osborne
Copy link
Contributor

If we decide to move forward with #377, unicity of Identifier is expected to be broken across modules. Indeed, the tag in Identifier.Ident.create and Identifier.Ident.of_preid will be reset at every run of the type-checker.

The change should obvioulsy need to preserve equality and comparison in addition to guarantee unicity of identifiers. But I don't think we should be too much concerned about preserving the interface as it is now. For example, I believe one elegant solution would be to resolve identifier with absolute path (I believe it is how it is done in the OCaml compiler). That would implies the two functions above to take a path as extra argument.

@n-osborne
Copy link
Contributor Author

Apparently, Identifier.t containing only the name and not the path is a problem for translation to Why3 and Coq.

@n-osborne n-osborne added the enhancement New feature or request label Feb 28, 2024
@n-osborne n-osborne added this to the 0.4 milestone Feb 28, 2024
@n-osborne
Copy link
Contributor Author

n-osborne commented Jun 19, 2024

Closing as it is superseded and specialised by #411
Also, #389 add fully resolved path

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