You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: news/_posts/2014-06-30-2.12-roadmap.md
+17-18Lines changed: 17 additions & 18 deletions
Original file line number
Diff line number
Diff line change
@@ -27,31 +27,30 @@ Here’s how we plan to make this transition as smooth as possible.
27
27
28
28
29
29
## Shared features between Scala 2.11 (under a flag) & 2.12
30
-
* Leverage new Java 8 features:
31
-
* Compile lambdas efficiently using method handles. (Separate compatibility module needed on 2.11 – see below.)
32
-
* Java 8 interop (bidirectional):
33
-
* Improve support for reading Java 8 bytecode (already in 2.11)
34
-
* Improve and turn on SAM support by default (synthesize anonymous class java 8-style). This allows calling Java 8 higher-order methods seamlessly from Scala (already in 2.11 under -Xexperimental).
35
-
*[Compatibility module](https://github.com/typesafehub/scala-java8-fun) to let Java 8 call Scala higher-order methods.
36
-
* Fully integrate [Miguel’s new back-end & optimizer](http://magarciaepfl.github.io/scala/) (refactor code, test & document in-depth, remove old back-end).
37
-
* Style checker: an efficient, community-driven, platform for accurate coding style checking (built on top of the compiler).
38
-
* Collections: improve test coverage, performance, documentation (& modularize?)
39
-
* Improve documentation: focus on content. (This is a great place to start contributing, as well as on the tooling side of documentation.)
* Compile lambdas efficiently using method handles. (Separate compatibility module needed on 2.11 – see below.)
32
+
* Java 8 interop (bidirectional):
33
+
* Improve support for reading Java 8 bytecode (already in 2.11)
34
+
* Improve and turn on SAM support by default (synthesize anonymous class java 8-style). This allows calling Java 8 higher-order methods seamlessly from Scala (already in 2.11 under -Xexperimental).
35
+
*[Compatibility module](https://github.com/typesafehub/scala-java8-fun) to let Java 8 call Scala higher-order methods.
36
+
* Fully integrate [Miguel’s new back-end & optimizer](http://magarciaepfl.github.io/scala/) (refactor code, test & document in-depth, remove old back-end).
37
+
* Style checker: an efficient, community-driven, platform for accurate coding style checking (built on top of the compiler).
38
+
* Collections: improve test coverage, performance, documentation (& modularize?)
39
+
* Improve documentation: focus on content. (This is a great place to start contributing, as well as on the tooling side of documentation.)
## Features exclusive to Scala 2.12: more Java 8 fun
44
44
Development of the following features starts in 2015. Since they are binary incompatible, they can’t be backported to 2.11.
45
45
46
-
47
-
* Turn FunctionN into [Functional Interfaces](http://docs.oracle.com/javase/8/docs/api/java/lang/FunctionalInterface.html), so that Java 8 code can call higher-order methods in Scala without a [wrapper](https://github.com/typesafehub/scala-java8-fun).
48
-
* Support for @interface traits, which are guaranteed to compile to Java interfaces (useful for interop, performance and binary compatibility). This is a generalization of the above feature.
49
-
* Streams: integrate into Scala collections? (Anywhere from providing converters to replacing existing functionality.)
50
-
* Use the JDK’s forkjoin library instead of embedding our own. (Switch the global default ExecutionContext to be backed by the ForkJoinPool.commonPool().)
51
-
*[SIP-20](http://docs.scala-lang.org/sips/pending/improved-lazy-val-initialization.html) Improved lazy val initialization (if time allows).
46
+
* Turn FunctionN into [Functional Interfaces](http://docs.oracle.com/javase/8/docs/api/java/lang/FunctionalInterface.html), so that Java 8 code can call higher-order methods in Scala without a [wrapper](https://github.com/typesafehub/scala-java8-fun).
47
+
* Support for @interface traits, which are guaranteed to compile to Java interfaces (useful for interop, performance and binary compatibility). This is a generalization of the above feature.
48
+
* Streams: integrate into Scala collections? (Anywhere from providing converters to replacing existing functionality.)
49
+
* Use the JDK’s forkjoin library instead of embedding our own. (Switch the global default ExecutionContext to be backed by the ForkJoinPool.commonPool().)
50
+
*[SIP-20](http://docs.scala-lang.org/sips/pending/improved-lazy-val-initialization.html) Improved lazy val initialization (if time allows).
52
51
53
52
## Timing
54
-
2.10.5 (Q4 2014) will be the last 2.10 release. We’re planning five 2.11.x releases in 2014, and a few more in 2015 (we're still deciding on when to EOL 2.11.x). At Typesafe, 2.12 development will begin with infrastructure work in Q4 2014, with our development focus shifting to 2.12 in 2015.
53
+
Scala 2.10.5 (Q4 2014) will be the last 2.10 release. We’re planning five 2.11.x releases in 2014, and a few more in 2015 (we're still deciding on when to EOL 2.11.x). At Typesafe, 2.12 development will begin with infrastructure work in Q4 2014, with our development focus shifting to 2.12 in 2015.
0 commit comments