Scala 2.9.0 RC1

Showing 1-3 of 3 messages
Scala 2.9.0 RC1 Antonio Cunei 3/25/11 1:34 PM
After many months of work, the Scala Team is happy to announce
the first release candidate of the new Scala 2.9 distribution!
Scala 2.9.0 RC1 is currently available from our Download Page.

The Scala 2.9.0 codebase includes several additions, notably the
new Parallel Collections, but it also introduces improvements on
many existing features, and contains many bug fixes.

Please help us with the testing of this release candidate, and
let us know of any issues you may detect.


The Scala 2.9.0 RC1 distribution
=====================================

This Release Candidate is made available for testing purposes
only and is not intended for production environments. We will
wait at least two weeks before issuing a final release, in
order to allow developers and testers to send us their
feedback.

What is new?
============

The new Scala 2.9 codebase includes the following new features
and changes:

- Parallel Collections

   Every collection may be converted into a corresponding
   parallel collection with the new `par` method. Parallel
   collections utilize multicore processors by implementing bulk
   operations such as `foreach`, `map`, `filter` etc. in
   parallel. Parallel collections are located in the package
   `scala.collection.parallel`.

   Depending on the collection in question, `par` may require
   copying the underlying dataset to create a parallel
   collection. However, specific collections share their
   underlying dataset with a parallel collection, making `par` a
   constant time operation.

   Currently available parallel collections are:

      * parallel arrays -
          scala.collection.parallel.mutable.ParArray
      * parallel ranges -
          scala.collection.parallel.immutable.ParRange
      * parallel hash maps -
          scala.collection.parallel.mutable.ParHashMap
      * parallel hash sets -
          scala.collection.parallel.mutable.ParHashSet
      * parallel hash tries -
          scala.collection.parallel.immutable.ParHashMap
          scala.collection.parallel.immutable.ParHashSet
      * parallel vectors -
          scala.collection.parallel.immutable.ParVector

   The method `seq` is used to convert from a parallel collection
   to a corresponding sequential collection. This method is
   always efficient (O(1)).

Other features
==============

     * Generalized try-catch-finally:

       try body
       catch handler
       finally cleanup

       Here body, hander, and cleanup can be arbitrary expressions.

     * Better REPL:
       Better jline support, multi-line history, faster startup.

     * New REPL commands:
       :implicits, :keybindings, :javap

     * New packages:
       scala.sys and scala.sys.process which are imported from
       sbt.Proces

     * New trait:
       App, a safer and more performant alternative to Application.
       It now allows to access command line arguments. It relies
       on another new trait, DelayedInit, which lets one capture
       class initialization code in a closure.

     * New methods in collections:
       collectFirst, maxBy, minBy, span, inits, tails,
       permutations, combinations, subsets

     * Annotation @strictfp is now supported.

     * A large number of bugfixes and performance improvements.

Re: [scala-language] Scala 2.9.0 RC1 martin odersky 3/26/11 7:11 AM


2011/3/26 Antonio Rodríguez S. <roda...@googlemail.com>
Great news! First thanks to the whole Scala team. In a new version of the Eclipse plugin include or planned next?

The revamped Eclipse plugin for 2.9 will most likely be released on Monday.

Cheers

 -- Martin 

Re: [scala-announce] Scala 2.9.0 RC1 Nils 3/26/11 11:23 AM
I tried compiling O/R Broker with scaladoc 2.9 RC1 and got this weird result. Last I tried, it worked fine with 2.9.0.r24394-b20110307020059.

scaladoc -unchecked -d docs\api -doc-title "O/R Broker" -
doc-version 3.1 -classpath bin;e:\Java\freemarker-2.3.16\lib\freemarker.jar;e:\Java\joda-time-1.6\joda-time-1.6.jar;e:\Java\velocity-1.6.3\v
elocity-1.6.3-dep.jar -sourcepath src\main\scala src\main\scala\org\orbroker\*.scala src\main\scala\org\orbroker\conv\*.scala src\main\scala
\org\orbroker\callback\*.scala src\main\scala\org\orbroker\config\*.scala src\main\scala\org\orbroker\adapt\*.scala src\main\scala\org\orbro
ker\exception\*.scala src\main\scala\org\orbroker\pimp\*.scala src\main\scala\org\orbroker\config\dynamic\*.scala src\main\scala\org\orbroke
r\util\*.scala
java.io.IOException: MALFORMED[1]
        at scala.tools.nsc.io.SourceReader$.decode(SourceReader.scala:137)
        at scala.tools.nsc.io.SourceReader.read(SourceReader.scala:91)
        at scala.tools.nsc.io.SourceReader.read(SourceReader.scala:46)
        at scala.tools.nsc.io.SourceReader.read(SourceReader.scala:65)
        at scala.tools.nsc.Global.getSourceFile(Global.scala:268)
        at scala.tools.nsc.Global.getSourceFile(Global.scala:274)
        at scala.tools.nsc.Global$Run$$anonfun$14.apply(Global.scala:995)
        at scala.tools.nsc.Global$Run$$anonfun$14.apply(Global.scala:995)
        at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:245)
        at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:245)
        at scala.collection.LinearSeqOptimized$class.foreach(LinearSeqOptimized.scala:59)
        at scala.collection.immutable.List.foreach(List.scala:45)
        at scala.collection.TraversableLike$class.map(TraversableLike.scala:245)
        at scala.collection.immutable.List.map(List.scala:45)
        at scala.tools.nsc.Global$Run.compile(Global.scala:995)
        at scala.tools.nsc.doc.DocFactory.makeUniverse(DocFactory.scala:51)
        at scala.tools.nsc.doc.DocFactory.document(DocFactory.scala:78)
        at scala.tools.nsc.ScalaDoc$.process(ScalaDoc.scala:65)
        at scala.tools.nsc.ScalaDoc$.main(ScalaDoc.scala:81)
        at scala.tools.nsc.ScalaDoc.main(ScalaDoc.scala)
error: IO error while decoding e:\Java\freemarker-2.3.16\lib\freemarker.jar with UTF-8
Please try specifying another one using the -encoding option
java.io.IOException: MALFORMED[1]
        at scala.tools.nsc.io.SourceReader$.decode(SourceReader.scala:137)
        at scala.tools.nsc.io.SourceReader.read(SourceReader.scala:91)
        at scala.tools.nsc.io.SourceReader.read(SourceReader.scala:46)
        at scala.tools.nsc.io.SourceReader.read(SourceReader.scala:65)
        at scala.tools.nsc.Global.getSourceFile(Global.scala:268)
        at scala.tools.nsc.Global.getSourceFile(Global.scala:274)
        at scala.tools.nsc.Global$Run$$anonfun$14.apply(Global.scala:995)
        at scala.tools.nsc.Global$Run$$anonfun$14.apply(Global.scala:995)
        at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:245)
        at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:245)
        at scala.collection.LinearSeqOptimized$class.foreach(LinearSeqOptimized.scala:59)
        at scala.collection.immutable.List.foreach(List.scala:45)
        at scala.collection.TraversableLike$class.map(TraversableLike.scala:245)
        at scala.collection.immutable.List.map(List.scala:45)
        at scala.tools.nsc.Global$Run.compile(Global.scala:995)
        at scala.tools.nsc.doc.DocFactory.makeUniverse(DocFactory.scala:51)
        at scala.tools.nsc.doc.DocFactory.document(DocFactory.scala:78)
        at scala.tools.nsc.ScalaDoc$.process(ScalaDoc.scala:65)
        at scala.tools.nsc.ScalaDoc$.main(ScalaDoc.scala:81)
        at scala.tools.nsc.ScalaDoc.main(ScalaDoc.scala)
error: IO error while decoding e:\Java\joda-time-1.6\joda-time-1.6.jar with UTF-8
Please try specifying another one using the -encoding option
java.io.IOException: MALFORMED[1]
        at scala.tools.nsc.io.SourceReader$.decode(SourceReader.scala:137)
        at scala.tools.nsc.io.SourceReader.read(SourceReader.scala:91)
        at scala.tools.nsc.io.SourceReader.read(SourceReader.scala:46)
        at scala.tools.nsc.io.SourceReader.read(SourceReader.scala:65)
        at scala.tools.nsc.Global.getSourceFile(Global.scala:268)
        at scala.tools.nsc.Global.getSourceFile(Global.scala:274)
        at scala.tools.nsc.Global$Run$$anonfun$14.apply(Global.scala:995)
        at scala.tools.nsc.Global$Run$$anonfun$14.apply(Global.scala:995)
        at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:245)
        at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:245)
        at scala.collection.LinearSeqOptimized$class.foreach(LinearSeqOptimized.scala:59)
        at scala.collection.immutable.List.foreach(List.scala:45)
        at scala.collection.TraversableLike$class.map(TraversableLike.scala:245)
        at scala.collection.immutable.List.map(List.scala:45)
        at scala.tools.nsc.Global$Run.compile(Global.scala:995)
        at scala.tools.nsc.doc.DocFactory.makeUniverse(DocFactory.scala:51)
        at scala.tools.nsc.doc.DocFactory.document(DocFactory.scala:78)
        at scala.tools.nsc.ScalaDoc$.process(ScalaDoc.scala:65)
        at scala.tools.nsc.ScalaDoc$.main(ScalaDoc.scala:81)
        at scala.tools.nsc.ScalaDoc.main(ScalaDoc.scala)
error: IO error while decoding e:\Java\velocity-1.6.3\velocity-1.6.3-dep.jar with UTF-8
Please try specifying another one using the -encoding option
src\main\scala\org\orbroker\conv\converters.scala:43: error: object joda is not a member of package org
  type T = org.joda.time.LocalDate
               ^
src\main\scala\org\orbroker\conv\converters.scala:45: error: value toDateMidnight is not a member of org.orbroker.conv.JodaLocalDateConv.T
  def toJdbcType(date: T) = new java.sql.Date(date.toDateMidnight.getMillis)
                                                   ^
src\main\scala\org\orbroker\conv\converters.scala:52: error: object joda is not a member of package org
  type T = org.joda.time.LocalTime
               ^
src\main\scala\org\orbroker\conv\converters.scala:54: error: value getMillisOfDay is not a member of org.orbroker.conv.JodaLocalTimeConv.T
  def toJdbcType(time: T) = new java.sql.Time(time.getMillisOfDay)
                                                   ^
src\main\scala\org\orbroker\conv\converters.scala:61: error: object joda is not a member of package org
  type T = org.joda.time.DateTime
               ^
src\main\scala\org\orbroker\conv\converters.scala:63: error: value getMillis is not a member of org.orbroker.conv.JodaDateTimeConv.T
  def toJdbcType(ts: T) = new java.sql.Timestamp(ts.getMillis)
                                                    ^
src\main\scala\org\orbroker\config\dynamic\FreeMarkerStatement.scala:8: error: not found: object freemarker
import freemarker.template._
       ^
src\main\scala\org\orbroker\config\dynamic\FreeMarkerStatement.scala:10: error: too many arguments for constructor Object: ()java.lang.Objec
t
private[orbroker] class FreeMarkerStatement(
                                           ^
8 errors found
Exception in thread "main" java.lang.AssertionError: assertion failed: mismatch class FreeMarkerStatement List() List(id, callback, adapter)

        at scala.Predef$.assert(Predef.scala:100)
        at scala.tools.nsc.typechecker.Typers$Typer.decompose$1(Typers.scala:1529)
        at scala.tools.nsc.typechecker.Typers$Typer.computeParamAliases(Typers.scala:1536)
        at scala.tools.nsc.typechecker.Typers$Typer.typedDefDef(Typers.scala:1707)
        at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:3818)
        at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:4158)
        at scala.tools.nsc.typechecker.Typers$Typer.typedStat$1(Typers.scala:2036)
        at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$24.apply(Typers.scala:2119)
        at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$24.apply(Typers.scala:2119)
        at scala.collection.immutable.List.loop$1(List.scala:117)
        at scala.collection.immutable.List.mapConserve(List.scala:133)
        at scala.tools.nsc.typechecker.Typers$Typer.typedStats(Typers.scala:2119)
        at scala.tools.nsc.typechecker.Typers$Typer.typedTemplate(Typers.scala:1455)
        at scala.tools.nsc.typechecker.Typers$Typer.typedClassDef(Typers.scala:1220)
        at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:3809)
        at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:4158)
        at scala.tools.nsc.typechecker.Typers$Typer.typedStat$1(Typers.scala:2036)
        at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$24.apply(Typers.scala:2119)
        at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$24.apply(Typers.scala:2119)
        at scala.collection.immutable.List.loop$1(List.scala:117)
        at scala.collection.immutable.List.mapConserve(List.scala:133)
        at scala.tools.nsc.typechecker.Typers$Typer.typedStats(Typers.scala:2119)
        at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:3805)
        at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:4158)
        at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:4207)
        at scala.tools.nsc.typechecker.Analyzer$typerFactory$$anon$3.apply(Analyzer.scala:94)
        at scala.tools.nsc.Global$GlobalPhase$$anonfun$applyPhase$1.apply(Global.scala:326)
        at scala.tools.nsc.Global$GlobalPhase$$anonfun$applyPhase$1.apply(Global.scala:326)
        at scala.tools.nsc.reporters.Reporter.withSource(Reporter.scala:47)
        at scala.tools.nsc.Global$GlobalPhase.applyPhase(Global.scala:326)
        at scala.tools.nsc.typechecker.Analyzer$typerFactory$$anon$3$$anonfun$run$1.apply(Analyzer.scala:86)
        at scala.tools.nsc.typechecker.Analyzer$typerFactory$$anon$3$$anonfun$run$1.apply(Analyzer.scala:86)
        at scala.collection.Iterator$class.foreach(Iterator.scala:652)
        at scala.collection.mutable.ListBuffer$$anon$1.foreach(ListBuffer.scala:311)
        at scala.tools.nsc.typechecker.Analyzer$typerFactory$$anon$3.run(Analyzer.scala:86)
        at scala.tools.nsc.Global$Run.compileSources(Global.scala:896)
        at scala.tools.nsc.Global$Run.compile(Global.scala:997)
        at scala.tools.nsc.doc.DocFactory.makeUniverse(DocFactory.scala:51)
        at scala.tools.nsc.doc.DocFactory.document(DocFactory.scala:78)
        at scala.tools.nsc.ScalaDoc$.process(ScalaDoc.scala:65)
        at scala.tools.nsc.ScalaDoc$.main(ScalaDoc.scala:81)
        at scala.tools.nsc.ScalaDoc.main(ScalaDoc.scala)