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

Rewrite the ruleset's workers in Scala #1661

Open
jadenPete opened this issue Dec 9, 2024 · 0 comments
Open

Rewrite the ruleset's workers in Scala #1661

jadenPete opened this issue Dec 9, 2024 · 0 comments

Comments

@jadenPete
Copy link

This issue is part of a broader proposal to merge some of the features in
lucidsoftware/rules_scala into this ruleset.

The tracking issue for this effort

The relevant proposal section.

Having workers be written in Scala instead of Java presents multiple advantages:

  • Most of the repository’s compiled code is written in a single programming language

    • This reduces the learning curve for a new contributor
  • Many of the rule phases can be tested on the ruleset itself

    • Every rule phase that doesn't run Scala code would be run when we the workers themselves are built, assuming we do so via a set of bootstrap rules. This includes most phases, with the notable exception of the compile phase. If there's something wrong with one of those phases, we'll detect it, because the workers will fail to build. This enables bugs and developer experience regressions to be caught earlier.
  • The benefits of Scala are inherited, which include:

    • Safety
    • Conciseness
    • Expressiveness
    • Arguably superior object-oriented programming features

See the proposal for more information.

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