Skip to content

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

Merged
merged 2 commits into from
Mar 7, 2017
Merged

Scala 2.13 roadmap #612

merged 2 commits into from
Mar 7, 2017

Conversation

adriaanm
Copy link
Contributor

@adriaanm adriaanm commented Mar 3, 2017

For publication on Monday Mar 6?

See scala/scala-dev#324

@adriaanm adriaanm requested review from heathermiller and jvican March 3, 2017 18:27

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).
Copy link
Member

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!
Copy link
Member

@SethTisue SethTisue Mar 4, 2017

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).
Copy link
Member

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)"

@adriaanm
Copy link
Contributor Author

adriaanm commented Mar 6, 2017

Any thoughts/concerns? Would like to share this on scala-lang.

Copy link
Member

@jvican jvican left a 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).
Copy link
Member

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.

@adriaanm adriaanm merged commit a69f7e0 into scala:master Mar 7, 2017
@SethTisue
Copy link
Member

couple tiny fixes in 06e6df7

@heathermiller
Copy link
Member

Hey guys, sorry that I missed this PR a few days back. This LGTM, thanks @adriaanm for writing it up!

@adriaanm
Copy link
Contributor Author

adriaanm commented Mar 8, 2017

No probs, thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants