-
-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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
Move out Playground from the compiler #6455
Conversation
The tool will live in a separate repository
I think this PR is too premature. There is no decision made neither in #6083 (which is originally an unrelated issue) nor anywhere else. And making a decision requires more discussion about how the compiler, compiler tools and standard library should be developed and integrated. This also touches #5215 and #4613. Until there is a plan for all of this, I don't think we need any PR. |
@straight-shoota sorry I don't quite understand what you mean. The change is only about the Playground, nothing else. This doesn't stop to have the same discussion again here of course, but I'm afraid having general discussions won't lead to any concrete actions. Please let's talk on what the PR is about here – move out the Playground, and its dozens of related issues. One thing at a time... |
@j8r I agree with @straight-shoota. Whatever the actions needed to be taken, IMHO they should be stewarded by someone from @crystal-lang core team, not outside contributors and for sure the repo shouldn't be outside of @crystal-lang org. |
BTW some core members has already expressed opinions: The creation of https://github.com/crystal/playground has been asked We know what most people think on this, the decision is up to @crystal-lang members now. |
Opinions are not actions.
Yet not answered (yet), hence 404 on your link.
Amen. |
The playground is intrinsically linked to the compiler internals. Putting it inside a different repository will just make refactoring the compiler harder. This is a bad idea. |
The playground is what makes all those |
I really appreciate that the playground is extracted in a new repo while keeping the history. But, this PR can't be accepted until:
Also, as stated here:
Another cons of splitting is that the bin wrapper of the compiler will need to be duplicated for the playground probably, and actually the playground will have a fully featured compiler, but is not the compiler... I don't think we are going to invest in the required tasks mention earlier so unless those want to be tackled by someone, this leave things stalled for this PR for the moment. I acknowledge the will to split it from the compiler, but I don't think is going to happen soon. |
It could happen in the far future, not anytime soon – closing. |
The playground will live in a separate repository, for now at https://github.com/j8r/crystal-playground
There are still minor issues to fix.
There are upsides/downsides of moving out the playground.
Pros:
HTTP::Server
dependency from the compilerwithout_openssl
could also be removedCons:
complicates the release cycle
▶️ Also remove playground from the tarball release.
The release tarball will be also marginally smaller.
I like
▶️ You will be able to do either:
crystal play
and I want to keep using itbrew install crystal-playground
apt install crystal-playground
or clone
https://github.com/crystal-lang/crystal-playground
andcrystal build
itSome stats:
make release=true
time afer amake clean
on an Alpine Edge Docker container:no playground:
crystal
binary size: 24.416240Mwith playground:
crystal
binary size: 25.117896MRelative discussion: #6083