Scala

add news feed

tweet a story

We are very happy to announce the final release of Scala 2.10.3! The release is available for download from scala-lang.org or from Maven Central. The Scala team and contributors fixed 50 issues since 2.10.2! In total, 63 RC1 pull req...
We are very happy to announce the final release of Scala 2.10.3! The release is available for download from scala-lang.org or from Maven Central. The Scala team and contributors fixed 50 issues since 2.10.2! In total, 63 RC1 pull requests, 19 RC2 pull requests and 2 RC3 pull requests were opened on GitHub of which 72 were merged after having been tested and reviewed. Known Issues Before reporting a bug, please have a look at these known issues. Scala IDE for Eclipse The Scala IDE with this release built right in is available through the following update-site: for Eclipse 4.2/4.3 (Juno/Kepler) Have a look at the getting started guide for more info. New features in the 2.10 series Since 2.10.3 is strictly a bug-fix release, here’s an overview of the most prominent new features and improvements as introduced in 2.10.0: 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 (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 scala.actors have been deprecated and the akka implementation is now included in the distribution. 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 Scala Reflection http://docs.scala-lang.org/overviews/reflection/overview.html 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. Some examples can be seen at http://scalamacros.org/news/2012/11/05/status-update.html. A big thank you to all the contributors! #Author33Jason Zaugg 12Eugene Burmako 6Som Snytt 4Vlad Ureche 4James Iry 4Grzegorz Kossakowski 4François Garillot 3Adriaan Moors 3Viktor Klang 2
1 day ago
The fofth development milestone of Scala 2.11 is now available for download! It brings the following goodness: - Pattern matcher: extractors became name-based thanks to @paulp (#2848) - @adriaanm continues his modularization effort: sc...
The fofth development milestone of Scala 2.11 is now available for download! It brings the following goodness: - Pattern matcher: extractors became name-based thanks to @paulp (#2848) - @adriaanm continues his modularization effort: scala.xml and scala.util.parsing live in separate repositories now (#2855) - more bits of experimental backend based on ASM by @magarciaEPFL (#2711) - improvements to stacktrace printing in REPL by @som-snytt and @qerub (#2877 and #2824) - clarification of Scala license (#2881) We’re working on an overview of the Scala 2.11 release – PRs welcome! License clarification Scala was released with slightly modified variant of 3-clause BSD license. The fact that this is not exactly 3-clause BSD license was causing problems for people adopting Scala because they would have to go through legal process that approves a new license in their organization. We’ve clarified the situation but switching to standard wording of 3-clause BSD license. The intent and meaning of the license hasn’t change because previous version was just reworded version of 3-clause BSD license. Known issues Scala compiler artifact (due to scaladoc) depends on previous version (2.11.0-M4) of scala-xml and scala-parser-combinators modules. If you depend on scala-compiler (e.g. your are a macro writer) then you need to use extra care when upgrading to M5. See scala-partest#3 which discusses the problem in depth and offers a work-around for sbt-based builds. Regressions We’d love to hear about any regressions since 2.10.3 or 2.11.0-M4. Before doing so, please search for existing bugs and/or consult with the scala-user mailing list to be sure it is a genuine problem. When reporting a bug, please set the ‘Affects Version’ field to 2.11.0-M5 and add the regression label where appropriate. Scala IDE Lithium (4.0) for Eclipse Please point your Eclipse 4.2/4.3 at http://download.scala-ide.org/sdk/e38/scala211/dev/site/ to update to the latest version that includes this milestone! For more info, please see the getting started guide. Binary compatibility Note that this release is not binary compatible with the 2.10.x series, so you will need to obtain a fresh build of your dependencies against this version.
4 days ago
We are very happy to announce the RC3 release of Scala 2.10.3! If no serious blocking issues are found this will become the final 2.10.3 version. The release is available for download from scala-lang.org or from Maven Central. The Scal...
We are very happy to announce the RC3 release of Scala 2.10.3! If no serious blocking issues are found this will become the final 2.10.3 version. The release is available for download from scala-lang.org or from Maven Central. The Scala team and contributors fixed 50 issues since 2.10.2! In total, 63 RC1 pull requests, 19 RC2 pull requests and 2 RC3 pull requests were opened on GitHub of which 72 were merged after having been tested and reviewed. Known Issues Before reporting a bug, please have a look at these known issues. Scala IDE for Eclipse The Scala IDE with Scala 2.10.3-RC2 built right in is available through the following update-site: for Eclipse 4.2/4.3 (Juno/Kepler) Have a look at the getting started guide for more info. New features in the 2.10 series Since 2.10.3 is strictly a bug-fix release, here’s an overview of the most prominent new features and improvements as introduced in 2.10.0: 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 (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 scala.actors have been deprecated and the akka implementation is now included in the distribution. 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 Scala Reflection http://docs.scala-lang.org/overviews/reflection/overview.html 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. Some examples can be seen at http://scalamacros.org/news/2012/11/05/status-update.html. A big thank you to all the contributors! #Author1Iulian Dragos 1Jason Zaugg Commits and the issues they fix
8 days ago
We are very happy to announce the RC2 release of Scala 2.10.3! If no serious blocking issues are found this will become the final 2.10.3 version. The Scala team and contributors fixed 48 issues since 2.10.2! In total, 63 RC1 pull reque...
We are very happy to announce the RC2 release of Scala 2.10.3! If no serious blocking issues are found this will become the final 2.10.3 version. The Scala team and contributors fixed 48 issues since 2.10.2! In total, 63 RC1 pull requests and 19 RC2 pull requests were opened on GitHub of which 70 were merged after having been tested and reviewed. Known Issues Before reporting a bug, please have a look at these known issues. Scala IDE for Eclipse The Scala IDE with Scala 2.10.3-RC2 built right in is available through the following update-site: for Eclipse 4.2/4.3 (Juno/Kepler) Have a look at the getting started guide for more info. New features in the 2.10 series Since 2.10.3 is strictly a bug-fix release, here’s an overview of the most prominent new features and improvements as introduced in 2.10.0: 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 (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 scala.actors have been deprecated and the akka implementation is now included in the distribution. 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 Scala Reflection http://docs.scala-lang.org/overviews/reflection/overview.html 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. Some examples can be seen at http://scalamacros.org/news/2012/11/05/status-update.html. A big thank you to all the contributors! #Author32Jason Zaugg 12Eugene Burmako 6Som Snytt 4Vlad Ureche 4James Iry 4Grzegorz Kossakowski 4François Garillot 3Adriaan Moors 3Viktor Klang 2Antoine Gourlay 2Si
14 days ago
Last year, the Scala team and I developed a massive open online course for Principles of Functional Programming in Scala on the Coursera platform. We were blown away by the success of that course. So far, it got over 100’000 regist...
Last year, the Scala team and I developed a massive open online course for Principles of Functional Programming in Scala on the Coursera platform. We were blown away by the success of that course. So far, it got over 100’000 registrations, with one of the highest completion rates of any open online course. Today, I am thrilled to announce together with the third iteration of Principles of Functional Programming two new offerings. Reactive Programming First, there will be a successor to the course. It’s called Principles of Reactive Programming. I am super-excited to co-teach the course together with Erik Meijer, of Rx fame, and with Roland Kuhn, the tech lead of the Akka actors framework. Reactive programming will assume a good grounding in functional programming and will add topics such different forms of monads, combining functions and state, composing with futures and observables, and designing resilient actor systems. Time wise, the two courses follow each other. Principles of Functional Programming starts September 16 and goes for 7 weeks, then Principles of Reactive Programming starts November 4 and also goes for 7 weeks. So if you want learn about reactive programming but feel your Scala skills could use some improvement, there’s still time to enroll for the functional programming course. Personalized Tutorials In a second new development, Typesafe will offer supervised tutorial classes that follow both classes and run concurrently with them. One of the challenges of massive online courses is that students get only automated feedback on their homework assignments. Using Typesafe’s online tutorial platform, students can enroll in small groups with an expert tutor who will give detailed feedback on programming techniques in their homework assignments and elsewhere. Martin Odersky
about 1 month ago
The fourth development milestone of Scala 2.11 is now available for download! It brings the following goodness: initial version of a new experimental back-end based on ASM by @magarciaEPFL (#2620) quasiquotes by @densh (#2714) a mor...
The fourth development milestone of Scala 2.11 is now available for download! It brings the following goodness: initial version of a new experimental back-end based on ASM by @magarciaEPFL (#2620) quasiquotes by @densh (#2714) a more modular standard library: scala.xml and scala.util.parsing now come in separate jars (#2704) - we now also use a bog-standard jline 2.11 @soc implemented deprecation of the confusing octal literals (#2343) @JamesIry and @gkossakowski reduced scalac’s memory retention (#2605) a Semmle-driven cleanup of the compiler’s code base by @lexspoon (#2693) @paulp thwarted dangerous implicits in #2625 (SI-6899) other bug fixes a growing number of contributions – thank you! We’re working on an overview of the Scala 2.11 release – PRs welcome! Coming up For the next milestone, slated for mid August, we’re working on: optimizations for the experimental back-end (#2711 and others) a new translation for closures that lifts a closure body to a method support for SAM target typing more modules Regressions We’d love to hear about any regressions since 2.10.2 or 2.11.0-M3. Before doing so, please search for existing bugs and/or consult with the scala-user mailing list to be sure it is a genuine problem. When reporting a bug, please set the ‘Affects Version’ field to 2.11.0-M4 and add the regression label where appropriate. Scala IDE Lithium (4.0) for Eclipse Please point your Eclipse 4.2/4.3 at http://download.scala-ide.org/sdk/e38/scala211/dev/site/ to update to the latest version that includes this milestone! For more info, please see the getting started guide. Binary compatibility Note that this release is not binary compatible with the 2.10.x series, so you will need to obtain a fresh build of your dependencies against this version. @cunei is working on a tool to solve this problem. The current version already builds akka, genjavadoc, sbinary, sbt, sbt-full-library, sbt-republish, scala, scala-arm, scala-stm, scalabuff, scalacheck, scalatest, scalaz, shapeless, specs2, sperformance, zeromq-scala-binding, zinc.
3 months ago
We are very happy to announce the final release of Scala 2.10.2!The Scala team and contributors fixed 95 issues since 2.10.1!In total, 164 RC1 pull requests and 7 RC2 pull requests were opened on GitHub, of which 140 were merged after ha...
We are very happy to announce the final release of Scala 2.10.2!The Scala team and contributors fixed 95 issues since 2.10.1!In total, 164 RC1 pull requests and 7 RC2 pull requests were opened on GitHub, of which 140 were merged after having been tested and reviewed.
4 months ago
We are very happy to announce the RC2 release of Scala 2.10.2! If no serious blocking issues are found this will become the final 2.10.2 version.The Scala team and contributors fixed 95 issues since 2.10.1!In total, 164 RC1 pull requests...
We are very happy to announce the RC2 release of Scala 2.10.2! If no serious blocking issues are found this will become the final 2.10.2 version.The Scala team and contributors fixed 95 issues since 2.10.1!In total, 164 RC1 pull requests and 7 RC2 pull requests were opened on GitHub, of which 140 were merged after having been tested and reviewed.
4 months ago
We are pleased to announce the next milestone release of Scala 2.11.0, which is now available for download! This is a pre-release software. You can see our plans for upcoming Scala releases on our Roadmap. For production use, we recommen...
We are pleased to announce the next milestone release of Scala 2.11.0, which is now available for download! This is a pre-release software. You can see our plans for upcoming Scala releases on our Roadmap. For production use, we recommend the latest stable release, 2.10.1. The Scala team and contributors fixed 108 issues, in addition to those fixed in the upcoming 2.10.2, which are also included in this release. Please give 2.11.0-M3 a spin! This release is not binary compatible with the 2.10.x series, so you will need to obtain builds of your dependencies. Once we start the release candidates, we will coordinate with the open source community to release these simultaneously, but for these milestones we are not asking library authors to go to that trouble.
4 months ago
We are very happy to announce the RC1 release of Scala 2.10.2! If no serious blocking issues are found this will become the final 2.10.2 version. The Scala team and contributors fixed 89 issues since 2.10.1! In total, 164 RC1 pu...
We are very happy to announce the RC1 release of Scala 2.10.2! If no serious blocking issues are found this will become the final 2.10.2 version. The Scala team and contributors fixed 89 issues since 2.10.1! In total, 164 RC1 pull requests were opened on GitHub, of which 134 were merged after having been tested and reviewed.
4 months ago