Scala 2.10.0 Milestone 3 lands
The latest glimpse into where the Scala language is heading has been provided by Scala 2.10.0 M3 -
The latest milestone for the JVM multi-paradigm language, Scala
has emerged, gifting avid fans a glimpse into some of the new
tidbits for the language expected to arrive imminently.
Calling them tidbits though is perhaps understating the release.
Big plans have been afoot for the Typesafe team for Scala 2.10.0,
after Scala 2.9, which made progress on IDEs and parallel
libraries. Milestone 3 shows how much progress has been made in a
short period of time.
A number of features have been targeted within the Scala
Improvement Process such as several modularising features in
SIP 18, some of which have caused contention within the
community. The inclusion of features flags was chastised by some –
so much so that SIP 16 for Macros was postponed and made an
experimental feature. Type Dynamic stayed though (SIP
17) providing further methods to escape the ‘straitjacket of
the type system’, as creator Martin Odersky puts it.
Existing features under the control of the flag system include
postfixops, reflective calls, implicit conversions, higher kinds
and existentials. Within SIP 18, Odersky notes:
The feature flags in language control certain language
features that are typically very powerful but that can have hidden
dangers or future compatibility implications. It’s intended
generalize the scheme to other classes of features as well, but
those classes should then not go into the language object itself
but into some other object.
Other areas targeted for renovation include Futures and Promises
14), Implicit Classes (SIP
13) and finally String interpolation (SIP
11). Be sure to check out all the relevant Google documents to
stay in the loop over Scala changes and to look at them in
meticulous detail. The Scala community is very receptive to ideas,
we’ve noticed in the past, and has altered plans dependent on user
feedback. It’s a difficult balancing act trying to generate
newcomers to the language whilst appeasing seasoned veterans, but
Typesafe have done a fine job with this.
Away from the SIP, there’s a significantly faster optimiser,
improvements to RedBlack tree, some progress made towards
reification and it should now be possible to implement a combiner
using a concurrent (thread-safe) collection. Check out the full release
notes for all the issues resolved and changes made.