Scala 2.10.0 now available!

Date 2013/1/7 4:22:20 | Topic: Product News

The Scala project announced the final release of Scala 2.10.0! Many thanks for your bug reports and pull requests (both code and documentation) that helped us pull this release together. You can find the new Scala 2.10.0 on our Download Page. Over the coming days and weeks, we will be publishing guides to help you migrate your projects to 2.10, and to highlight the features waiting for you after upgrading.

Here's an overview of the most prominent new features and improvements in this release of Scala:
* Value Classes
** A class may now extend AnyVal to make it behave like a struct type (restrictions apply).
* Implicit Classes
** The implicit modifier now also applies to class definitions to reduce the boilerplate of implicit wrappers.
* String Interpolation
** val what = "awesome"; println(s"string interpolation is ${what.toUpperCase}!")
* Futures and Promises
** Asynchronously get some JSON: for (req <- WS.url(restApiUrl).get()) yield (req.json \ "users").as[List[User]] (uses play!)
* Dynamic and applyDynamic
** becomes x.applyDynamic("foo") if x's type does not define a foo, but is a subtype of Dynamic
* Dependent method types:
** def identity(x: AnyRef): x.type = x // the return type says we return exactly what we got
* New ByteCode emitter based on ASM
** Can target JDK 1.5, 1.6 and 1.7
** Emits 1.6 bytecode by default
** Old 1.5 backend is deprecated
* A new Pattern Matcher
** rewritten from scratch to generate more robust code (no more exponential blow-up!)
** code generation and analyses are now independent (the latter can be turned off with -Xno-patmat-analysis)
* Scaladoc Improvements
** Implicits (-implicits flag)
** Diagrams (-diagrams flag, requires graphviz)
** Groups (-groups)
* Modularized Language features
** Get on top of the advanced Scala features used in your codebase by explicitly importing them.
* Parallel Collections are now configurable with custom thread pools
* Akka Actors now part of the distribution
** The original Scala actors are now deprecated.
** See the actors migration project for more information.
* Performance Improvements
** Faster inliner
** `Range#sum is now O(1)
** Update of ForkJoin library
** Fixes in immutable TreeSet/TreeMap
** Improvements to PartialFunctions
* Addition of ??? and NotImplementedError
* Addition of IsTraversableOnce + IsTraversableLike type classes for extension methods
* Deprecations and cleanup
** Floating point and octal literal syntax deprecation
** Removed scala.dbc

Experimental features

The following exciting -- experimental -- features are part of 2.10.0:
* Scala Reflection
* Macros

The API is subject to (possibly major) changes in the 2.11.x series, but don't let that stop you from experimenting with them! A lot of developers have already come up with very cool applications for them.
Scala IDE for Eclipse

The Scala IDE with Scala 2.10.0 built right in is available through one of the following update-sites:
* for Eclipse 3.7 (Indigo)
* for Eclipse 3.8/4.2 (Juno) (Support for this version is experimental.)



This article comes from Software Development Tools

The URL for this story is: