-
-
Notifications
You must be signed in to change notification settings - Fork 130
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
Scala 3 support #836
Scala 3 support #836
Conversation
Hello. Thanks for opening a PR on Exercism 🙂 We ask that all changes to Exercism are discussed on our Community Forum before being opened on GitHub. To enforce this, we automatically close all PRs that are submitted. That doesn't mean your PR is rejected but that we want the initial discussion about it to happen on our forum where a wide range of key contributors across the Exercism ecosystem can weigh in. You can use this link to copy this into a new topic on the forum. If we decide the PR is appropriate, we'll reopen it and continue with it, so please don't delete your local branch. If you're interested in learning more about this auto-responder, please read this blog post. Note: If this PR has been pre-approved, please link back to this PR on the forum thread and a maintainer or staff member will reopen it. |
This PR touches files which potentially affect the outcome of the tests of an exercise. This will cause all students' solutions to affected exercises to be re-tested. If this PR does not affect the result of the test (or, for example, adds an edge case that is not worth rerunning all tests for), please add the following to the merge-commit message which will stops student's tests from re-running. Please copy-paste to avoid typos.
For more information, refer to the documentation. If you are unsure whether to add the message or not, please ping |
I tried to port test generators to Scala 3, but looks like it's not going to be that easy. I was able to update the libraries to the newest versions, but their up-to-date version simply doesn't work with the unsafe hack that was used in the test generators where My current development plan:
@ErikSchierboom Does that sound good to you? |
f7f9597
to
94488d9
Compare
Looks good! |
94488d9
to
1b55f95
Compare
@ErikSchierboom I fixed compiler errors in all exercises, please take a moment to review when you have a chance. 🙇 There are still some warnings, but all tests are passing locally and I believe we can fix them later one by one when porting exercises to a more idiomatic Scala 3 and adding new test-gens. I also noticed that current tests (bin/test) are really slow. This is because we are starting a new As stated before, the new test-gens setup is a POC. I have tested it manually, but I haven't yet used it for the one ported exercise. Ideally, in the future, it should be also somehow integrated with the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great work!
Could you also update the documentation? In particular docs/INSTALLATION.md
, but there might be other places that need to be updated too.
@ErikSchierboom I updated the docs. On the site there is also |
docs/ABOUT.md
Outdated
|
||
* Features | ||
* JVM Interoperability - Scala runs on the JVM, so Java and Scala stacks can be mixed for seamless integration. | ||
* JS and Native interoperability - Thanks to the [Scala.js](https://www.scala-js.org/) and [Scala Native](https://github.com/scala-native/scala-native) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
* JS and Native interoperability - Thanks to the [Scala.js](https://www.scala-js.org/) and [Scala Native](https://github.com/scala-native/scala-native) | |
* JS and Native interoperability - Scala can run in the browser and on native devides, thanks to [Scala.js](https://www.scala-js.org/) and [Scala Native](https://github.com/scala-native/scala-native) |
docs/ABOUT.md
Outdated
A programming language that scales with you: from small scripts to large multiplatform applications. | ||
|
||
Scala combines object-oriented and functional programming in one concise, high-level language. Scala's static types help avoid bugs in complex applications, and its JVM, JavaScript and Native runtimes let you build high-performance systems with easy access to huge ecosystems of libraries. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A programming language that scales with you: from small scripts to large multiplatform applications. | |
Scala combines object-oriented and functional programming in one concise, high-level language. Scala's static types help avoid bugs in complex applications, and its JVM, JavaScript and Native runtimes let you build high-performance systems with easy access to huge ecosystems of libraries. | |
Scala is a a programming language that scales with you: from small scripts to large multiplatform applications. | |
Scala combines object-oriented and functional programming in one concise, high-level language. Scala's static types help avoid bugs in complex applications, and its JVM, JavaScript and Native runtimes let you build high-performance systems with easy access to huge ecosystems of libraries. |
Here we go! 🥳 |
Thank you for this <3 |
Improving this would be great! |
Hi, thanks for upgrading the Scala track. I started working on the exercises, and see that some of the tests are marked as |
@asarkar That's documented here: https://exercism.org/docs/tracks/scala/tests |
I've opened a discussion. |
TODO:
Forum thread: https://forum.exercism.org/t/scala-3-support/12117
Supersedes: #734