Google Ads
Product News : Scala 2.10.0 now available!
on 2013/1/7 4:22:20 (663 reads)
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).
** http://docs.scala-lang.org/overviews/core/value-classes.html
* Implicit Classes
** The implicit modifier now also applies to class definitions to reduce the boilerplate of implicit wrappers.
** http://docs.scala-lang.org/sips/pending/implicit-classes.html
* String Interpolation
** val what = "awesome"; println(s"string interpolation is ${what.toUpperCase}!")
** http://docs.scala-lang.org/overviews/core/string-interpolation.html
* Futures and Promises
** Asynchronously get some JSON: for (req <- WS.url(restApiUrl).get()) yield (req.json \ "users").as[List[User]] (uses play!)
** http://docs.scala-lang.org/overviews/core/futures.html
* Dynamic and applyDynamic
** x.foo becomes x.applyDynamic("foo") if x's type does not define a foo, but is a subtype of Dynamic
** http://docs.scala-lang.org/sips/pending/type-dynamic.html
* 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.
** http://docs.scala-lang.org/sips/pending/modularizing-language-features.html
* Parallel Collections are now configurable with custom thread pools
** http://docs.scala-lang.org/overviews/parallel-collections/overview.html
* 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
** https://docs.google.com/document/d/1Z1VhhNPplbUpaZPIYdc0_EUv5RiGQ2X4oqp0i-vz1qw/edit#heading=h.pqwdkl
* Macros
** http://docs.scala-lang.org/overviews/macros/overview.html

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.)

 

Visit http://www.scala-lang.org

Printer Friendly Page Send this Story to a Friend Create a PDF from the article

Copyright (c) 2007-2014 Martinig & Associates | Methods & Tools Software Development Magazine | Privacy Policy
Software Development Articles | Software Development Directory | Software Development Videos
Software Development Jobs | Software Development News | Software Development Books
Software Development Blogs | Software Development Conferences