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

feat: Adopt cst-tokens as a language-agnostic literacy core #111

Closed
wants to merge 4 commits into from

Conversation

conartist6
Copy link

Summary

This RFC proposes investigating a possible dependency on cst-tokens, a virtual machine for executing linguistic algorithms against stream input in a left-to-right manner. cst-tokens is an explicit attempt to create a narrow waist for language definition: it's goal is to support the language APIs needed by major projects like ESLint, Prettier, and Babel while also creating a single language definition API that will allow a language defined once to be used for linting, pretty-printing, or transpilation.

Related Issues

#99

@eslint-github-bot
Copy link

Hi @conartist6!, thanks for the Pull Request

The first commit message isn't properly formatted. We ask that you update the message to match this format, as we use it to generate changelogs and automate releases.

  • The commit message tag wasn't recognized. Did you mean "docs", "fix", or "feat"?
  • There should be a space following the initial tag and colon, for example 'feat: Message'.

To Fix: You can fix this problem by running git commit --amend, editing your commit message, and then running git push -f to update this pull request.

Read more about contributing to ESLint here

@linux-foundation-easycla
Copy link

linux-foundation-easycla bot commented Apr 8, 2023

CLA Signed

The committers listed above are authorized under a signed CLA.

@eslint-github-bot
Copy link

Hi @conartist6!, thanks for the Pull Request

The pull request title isn't properly formatted. We ask that you update the message to match this format, as we use it to generate changelogs and automate releases.

  • The commit message tag wasn't recognized. Did you mean "docs", "fix", or "feat"?
  • There should be a space following the initial tag and colon, for example 'feat: Message'.
  • The first letter of the tag should be in lowercase

To Fix: You can fix this problem by clicking 'Edit' next to the pull request title at the top of this page.

Read more about contributing to ESLint here

@conartist6 conartist6 changed the title Adopt cst-tokens as a language-agnostic literacy core feat: Adopt cst-tokens as a language-agnostic literacy core Apr 8, 2023
@ollie-iterators
Copy link

"lowering the barriers to competition between tools in the ecosystem" can only be a good thing because it would allow for more innovation.

Copy link
Member

@nzakas nzakas left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for putting this together. As it is, this RFC reads more like documentation for cst-tokens than an actual proposal for how to change ESLint.

Please revisit the detailed design section to explain how you would integrate this package into ESLint.


## Detailed Design

I will use this section to describe the detailed design of `cst-tokens`, as its mechanisms are the ones that I am proposing ESLint use. This section intends to demonstrate the way the mechanisms defined in `cst-tokens` can serve the same use cases as mechanisms in use currently (as combined with the changes proposed in #99).
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We need a detailed design of how you envision this working inside of ESLint, not just an overview of the package features.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

My intention was just to throw the idea out there and see if there is any interest. I'm paying myself to do this work so I must maximize the value of the things I spend my time on, and my guide to doing that is the agile manifesto.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I guess that is to say that my intent was to determine whether there would be interest in collaboration from anyone in the ESLint organization on taking this placeholder RFC and developing it into a complete proposal.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I’m sorry, we just don’t have the bandwidth to do a deep dive on your project to see if it would be useful. RFCs are fully owned and driven by the people who write them, not the ESLint team. We need you to explain to us what an implementation would look like and what the benefits would be, we can’t do that for you.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Well that's ok. I'll do the only thing I can do, which is sit here and continue to work. If you don't have the bandwidth or curiosity to investigate a functional ~4th gen prototype, then I can only conclude that either you aren't serious about solving these problems or you don't believe that there will be any meaningful competition. For my part making these ideas successful is the fight of my life!

May we meet in an open market, and may the community benefit from an honest struggle to serve it better.

@nzakas nzakas added the Initial Commenting This RFC is in the initial feedback stage label Apr 10, 2023
@nzakas nzakas closed this Apr 12, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature Initial Commenting This RFC is in the initial feedback stage
Projects
None yet
3 participants