Skip to content

[Epic] Pure C API #2133

Open
Open
@amomchilov

Description

@amomchilov

Shopify is actively working on decoupling the RBS parser from its Ruby bindings, in order to expose a new pure C API.

This API will be more compatible (e.g. it can integrate into JRuby, Truffle, Sorbet, etc.), and will allow for multi-threaded RBS parsing (since it won't be blocked by Ruby's GVL).

PR list

This is still a work-in-progress, but this list will be updated to list all PRs that are ready to review, in the order that they should be merged.

  1. Add templating mechanism to automatically generate .c/.h files #2098
  2. Clean up temporary workarounds from templated code #2102
  3. Un-hardcode repo name in test suite #2128
  4. Designated initializers #2131
  5. Remove forward declarations of local variables #2132
  6. Extract out usages of Ruby IDs #2175
  7. Reimplement the RBS Constant Pool in pure C #2221

CC @Morriar, @soutaro

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions