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

Themes for Scala 2.13 #324

Closed
adriaanm opened this issue Mar 2, 2017 · 8 comments
Closed

Themes for Scala 2.13 #324

adriaanm opened this issue Mar 2, 2017 · 8 comments

Comments

@adriaanm
Copy link
Contributor

adriaanm commented Mar 2, 2017

The 2.13 release of Scala will focus on the following themes:

Detailed plans are concretizing as issues under the labels linked above. We welcome your feedback on the roadmap as a whole on this issue, as well as more in-depth discussions on the various issues linked above.

We intend to shorten the development cycle a little compared to 2.12, with the first 2.13 release candidate slated for the end of Q1 2018. In 2017, we will release quarterly 2.13 milestones so you can get a good sense of the library changes. While Scala 2.11 will come to a halt with 2.11.9 in Q1 2017, we will maintain 2.12 with regular minor releases throughout 2017.

In collaboration with the Scala Center, as outlined in SCP-007: Collaborative redesign and implementation of Scala 2.13's collections library and Stefan's blog post, 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 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 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.

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.

Finally, there are many more things 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!

@SethTisue
Copy link
Member

SethTisue commented Jun 1, 2017

Where's the "discuss this theme" for friendliness? /cc @robinske

@zaxebo1
Copy link

zaxebo1 commented Sep 29, 2017

for scala 2.13:
IMHO Either ammonite shell should be part of the standard scala as official REPL,
Or official scala platform REPL shell should be enhanced to the level of ammonite repl/shell

ref:
http://ammonite.io/#Ammonite-REPL
http://ammonite.io/#Ammonite-Shell

@SethTisue
Copy link
Member

@zaxebo1 see #325

@jvican
Copy link
Member

jvican commented Jan 14, 2018

Where's the "discuss this theme" for friendliness? /cc @robinske

I opened https://contributors.scala-lang.org/t/towards-better-error-messages-in-scalac/1470/4 to discuss error messages.

@matanox
Copy link

matanox commented Feb 3, 2018

Is there any way of observing what has been implemented in 2.13 from the above list of themes?

@adriaanm
Copy link
Contributor Author

adriaanm commented Feb 8, 2018

Good point, we should post back here more regularly with updates. We are focussing on compiler performance and the collections rework. Modularization has seen some modest improvements, but needs more work (some PRs are referenced in the issue that tracks the theme). The REPL has undergone some refactoring to provide better separation from compiler and the UI, and a GSOC mentor has stepped up in scala/scala-lang#825

@adriaanm
Copy link
Contributor Author

Another quick update: the new collections have been merged! See https://contributors.scala-lang.org/t/scala-2-13-progress-report/1840 for more info

@SethTisue
Copy link
Member

2.13 is now feature-frozen

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

No branches or pull requests

5 participants