-
Notifications
You must be signed in to change notification settings - Fork 323
Scala 2.13 roadmap #612
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 2.13 roadmap #612
Conversation
|
||
In tandem, the modularisation effort of Scala 2.11 will continue as part of the [Scala Platform process](https://www.scala-lang.org/blog/2016/11/28/spp.html) to foster innovation in our eco-system while maintaining a stable core. The core consists of the collections and the other standard types, such as `Option`, `TupleN`, `Either` and `Try`. Ultimately, we'd like provide even stronger binary compatibility guarantees for the core, with a vibrant complement of modules that evolve more quickly (offering only backwards compatibility). [Discuss this theme]( https://github.com/scala/scala-dev/issues/323). | ||
|
||
Scala 2.13 is a library release, which means the language itself won't change. However, we continue to invest heavily in the implementation, with a single goal: the make the compiler faster. The first phase of this work involves benchmarking infrastructure, to guide our progress towards a faster compiler. After that, we will attack slowness on all fronts with all available tools. In addition to YourKit and other JVM profilers, which we have been using intensively over the years, we now have a JMH benchmarking harness for the compiler. We are also investigating lower-level performance (cpu caches, memory access patterns, JIT profiles, etc). We are eager to hear your ideas at the compiler performance theme issue. Please head over to https://github.com/scala/compiler-benchmark for the benchmarks and the issue tracker, or [discuss this theme here](https://github.com/scala/scala-dev/issues/322). |
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.
which means the language itself won't change
perhaps the wording there is a bit too definite? maybe “won't see big changes”
|
||
Scala 2.13 is a library release, which means the language itself won't change. However, we continue to invest heavily in the implementation, with a single goal: the make the compiler faster. The first phase of this work involves benchmarking infrastructure, to guide our progress towards a faster compiler. After that, we will attack slowness on all fronts with all available tools. In addition to YourKit and other JVM profilers, which we have been using intensively over the years, we now have a JMH benchmarking harness for the compiler. We are also investigating lower-level performance (cpu caches, memory access patterns, JIT profiles, etc). We are eager to hear your ideas at the compiler performance theme issue. Please head over to https://github.com/scala/compiler-benchmark for the benchmarks and the issue tracker, or [discuss this theme here](https://github.com/scala/scala-dev/issues/322). | ||
|
||
Finally, there are [many more things](https://github.com/scala/scala-dev/issues?q=is%3Aopen+is%3Aissue+milestone%3A2.13+label%3Awishlist) we'd like to include in 2.13. Let us know if you'd like to work on one of these. We're always happy to help! |
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.
this has to be weighed vs brevity, but maybe add "You'll find our active and friendly open-source community on Scala Contributors (forum), scala/contributors (chat), and of course on GitHub issues and pull requests". the Discourse thing is still quite new and hasn't sunk in everywhere, and even the rise of Gitter isn't totally old news
|
||
In collaboration with the Scala Center, as outlined in [SCP-007: Collaborative redesign and implementation of Scala 2.13's collections library](https://github.com/scalacenter/advisoryboard/blob/master/proposals/007-collections.md) and [Stefan's blog post](http://scala-lang.org/blog/2017/02/28/collections-rework.html), the collections library rework effort has kicked off at https://github.com/scala/collection-strawman. Our goal is to simplifying usage and improve performance, with a smooth migration path from the current collections. Please [join](https://github.com/scala/collection-strawman) and help shape one of the defining parts of Scala! | ||
|
||
In tandem, the modularisation effort of Scala 2.11 will continue as part of the [Scala Platform process](https://www.scala-lang.org/blog/2016/11/28/spp.html) to foster innovation in our eco-system while maintaining a stable core. The core consists of the collections and the other standard types, such as `Option`, `TupleN`, `Either` and `Try`. Ultimately, we'd like provide even stronger binary compatibility guarantees for the core, with a vibrant complement of modules that evolve more quickly (offering only backwards compatibility). [Discuss this theme]( https://github.com/scala/scala-dev/issues/323). |
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.
"the modularisation of the standard library (begun with Scala 2.11)"
Any thoughts/concerns? Would like to share this on scala-lang. |
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.
I like this blog post and the idea that we are letting the Community know our plans for Scala 2.13.
LGTM.
|
||
In collaboration with the Scala Center, as outlined in [SCP-007: Collaborative redesign and implementation of Scala 2.13's collections library](https://github.com/scalacenter/advisoryboard/blob/master/proposals/007-collections.md) and [Stefan's blog post](http://scala-lang.org/blog/2017/02/28/collections-rework.html), the collections library rework effort has kicked off at https://github.com/scala/collection-strawman. Our goal is to simplifying usage and improve performance, with a smooth migration path from the current collections. Please [join](https://github.com/scala/collection-strawman) and help shape one of the defining parts of Scala! | ||
|
||
In tandem, the modularisation of the standard library (begun with Scala 2.11) will continue as part of the [Scala Platform process](https://www.scala-lang.org/blog/2016/11/28/spp.html), to foster innovation in our eco-system while maintaining a stable core. The core consists of the collections and the other standard types, such as `Option`, `TupleN`, `Either` and `Try`. Ultimately, we'd like provide even stronger binary compatibility guarantees for the core, with a vibrant complement of modules that evolve more quickly (offering only backwards compatibility). [Discuss this theme]( https://github.com/scala/scala-dev/issues/323). |
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 to see the binary compatibility bits mentioned here.
couple tiny fixes in 06e6df7 |
Hey guys, sorry that I missed this PR a few days back. This LGTM, thanks @adriaanm for writing it up! |
No probs, thanks! |
For publication on Monday Mar 6?
See scala/scala-dev#324