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

Allow Kinds to be registered by packages outside JuliaSyntax #461

Merged
merged 1 commit into from
Jul 18, 2024

Commits on Jul 18, 2024

  1. Allow Kinds to be registered by packages outside JuliaSyntax

    Extensible kinds are quite tricky. We want
    * To use a small number of bits for them
    * To have the string representation in the source, but have the compiler
      able to fully inline the integer representation.
    * Allow modules with different kinds to cooperate together on the same
      integer representation.
    * Not trigger invalidation when new kinds are added
    * Different `Kind` modules to not require cooperation
    
    This is a very hard set of constraints to satisfy. The last one is
    already impossible in a single flat namespace so in this design we've
    given up on it and require cooperation between all kind extension
    modules, including module authors allocating non-colliding id's for
    their modules, in addition to non-colliding kind names.
    c42f committed Jul 18, 2024
    Configuration menu
    Copy the full SHA
    e8609e9 View commit details
    Browse the repository at this point in the history