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

Engine: global names: change the representation from krate * path to path * path * item #1163

Open
W95Psp opened this issue Dec 3, 2024 · 1 comment
Assignees

Comments

@W95Psp
Copy link
Collaborator

W95Psp commented Dec 3, 2024

Represent names as:

  • A namespacing path (e.g. crate::m1 for field)
    One namespace will be exactly one module in the backend

  • A “virtual namespace”: for instance the f1::S1 part in the case of field.
    This virtual namespace collapses to a simple name in the “real” namespace

  • A final path: field “field” from struct
    This virtual namespace collapses to a simple name in the “real” namespace

    Note: this changes the representation of concrete_ident.ml. But this module keeps this representation opaque, so those changes should be fairly local to that module.

@W95Psp W95Psp self-assigned this Dec 10, 2024
W95Psp added a commit that referenced this issue Dec 10, 2024
@W95Psp W95Psp changed the title Engine: names: change the representation from krate * path to path * path * item Engine: global names: change the representation from krate * path to path * path * item Dec 11, 2024
@W95Psp
Copy link
Collaborator Author

W95Psp commented Dec 18, 2024

This takes more time than expected.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant