Scala 2.10 Milestone 4 arrives

A month or so on from the last milestone, Scala 2.10 gets slightly closer to a big release with another glimpse at what 2.10 will offer

Nearly two months on from a mammoth milestone, the Typesafe team
behind Scala have checked in with another milestone, as the JVM
multi-paradigm language gets ever closer to another version.

Scala 2.10.0 M4 gives the language a little bit of juice,
following on from April’s big milestone where
several features targetted in the Scala Improvement
Process, such as Modularising Language Features, Futures
and Promises (SIP
14), Implicit Classes (SIP
13) and finally String interpolation (SIP
11) were all ushered in to varying degress. This time
round, it’s slightly more minimal but some important steps and
fixes have been made:

New exhaustivity & unreachability analyses for the new
pattern matcher. These have been rewritten from scratch so they
only emit warnings right now. Once unreachability proves accurate,
the team say they may turn the severity back up to ‘error’.

For the first time, default classfiles are now emitted in JDK5
format. This can be changed with -target:jvm-1.6 , to instruct the
JVM to use the new type-checking bytecode verifier.

-Xmacros have been replaced with
-Xlanguage:experimental.macros, or import
language.experimental.macros in the source code. There has been
some debate over the value of macros, hence the experimental
nature

To check out all that is new with Scala, read the release notes, which has
a fairly comprehensive commit list. This is good to see – Scala has
a very commited (ignore the pun) fanbase all keen to help progess
the language, which it seems to be doing at a good rate. This
release, like any milestone, is not intended for production
environments yet, but allows Scala developers chances to test out
new features.