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

Support for Ruby 2.2 #40

Closed
ellingtonjp opened this issue May 8, 2020 · 3 comments · Fixed by #55
Closed

Support for Ruby 2.2 #40

ellingtonjp opened this issue May 8, 2020 · 3 comments · Fixed by #55
Assignees
Labels
enhancement New feature or request language Language (or syntax) feature PR attached

Comments

@ellingtonjp
Copy link

Please, open an issue if you would like us to support older Ruby versions.

First of all, thanks for the hard work everyone! I'm super excited for this project. Unfortunately I'm stuck with Ruby 2.2 (MRI) at work. Would love to see support for our very old version.

Any plans to support rubies as far back as 2.2?

@ellingtonjp ellingtonjp added the enhancement New feature or request label May 8, 2020
@palkan
Copy link
Collaborator

palkan commented May 9, 2020

Any plans to support rubies as far back as 2.2?

If there is a demand for that then we should try to do that.

Personally, I'm not a big fan of supporting "dead" Rubies, since it could slow down the evolution of the language. On the other hand, I understand that things happen, and if Ruby Next could make you happier we should try to do that 🙂

As far as I understand, you want to use Ruby Next for application development, not gem development, right?
In that case, we need only transpiling part (APIs for such old Rubies couldn't be backported via refinements efficiently, so we have to use monkey patches, and for that we can rely on backports gem since it supports very old Rubies).

And we need runtime transpiling, I guess. It's better to do that with the help of Bootsnap (which does require-patching for us), which stopped supporting <2.3 in its 1.4+. We can use 1.3.x; just need to make sure Ruby Next is compatible with this version.

Finally, the Ruby Next code itself uses syntax (e.g., &.) and APIs from 2.5+. Thus, we need to transpile Ruby Next itself! That's actually in my backlog.

To sum up, sounds like it's doable, though would require some work.

@ellingtonjp
Copy link
Author

ellingtonjp commented May 14, 2020

I totally understand not wanting to support rubies this old. We are stuck in the stone ages!

As far as I understand, you want to use Ruby Next for application development, not gem development, right?

Yep! We aren't currently doing any gem development.

Thus, we need to transpile Ruby Next itself!

Nextception? :P

Thanks for the response. I will be watching this project closely! We have other parts of our system that are currently supported, so I'll be looking at trying ruby-next for those parts.

@palkan palkan mentioned this issue Aug 21, 2020
6 tasks
@palkan palkan added language Language (or syntax) feature PR attached labels Aug 21, 2020
@palkan
Copy link
Collaborator

palkan commented Aug 28, 2020

Hey @ellingtonjp!

Ruby 2.2 support has been added. It will be released in the next version (planned on Sep 2nd).

It's no possible to use the master version from GitHub, 'cause we do not store the transpiled source code in Git (it's only included into the *.gem bundle). And we cannot self-transpile Ruby Next on Ruby 2.2)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request language Language (or syntax) feature PR attached
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants