Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Commits on Jun 28, 2012
  1. @axel22

    Fix SI-5846 and SI-4027.

    axel22 authored
Commits on May 4, 2012
  1. @axel22

    Fix for si-5018.

    axel22 authored
    Methods keySet, values and withDefault now return serializable collections.
Commits on Apr 13, 2011
  1. @axel22

    Refactoring the collections api to support diff...

    axel22 authored
    Refactoring the collections api to support differentiation between
    referring to a sequential collection and a parallel collection, and to
    support referring to both types of collections.
    New set of traits Gen* are now superclasses of both their * and Par* subclasses. For example, GenIterable is a superclass of both Iterable and ParIterable. Iterable and ParIterable are not in a subclassing relation. The new class hierarchy is illustrated below (simplified, not all relations and classes are shown):
    TraversableOnce --> GenTraversableOnce
      ^                    ^
      |                    |
    Traversable     --> GenTraversable
      ^                    ^
      |                    |
    Iterable        --> GenIterable        <-- ParIterable
      ^                    ^                      ^
      |                    |                      |
    Seq             --> GenSeq             <-- ParSeq
    (the *Like, *View and *ViewLike traits have a similar hierarchy)
    General views extract common view functionality from parallel and
    sequential collections.
    This design also allows for more flexible extensions to the collections
    framework. It also allows slowly factoring out common functionality up
    into Gen* traits.
    From now on, it is possible to write this:
    import collection._
    val p = parallel.ParSeq(1, 2, 3)
    val g: GenSeq[Int] = p // meaning a General Sequence
    val s = g.seq // type of s is Seq[Int]
    for (elem <- g) {
      // do something without guarantees on sequentiality of foreach
      // this foreach may be executed in parallel
    for (elem <- s) {
      // do something with a guarantee that foreach is executed in order, sequentially
    for (elem <- p) {
      // do something concurrently, in parallel
    This also means that some signatures had to be changed. For example,
    method `flatMap` now takes `A => GenTraversableOnce[B]`, and `zip` takes
    a `GenIterable[B]`.
    Also, there are mutable & immutable Gen* trait variants. They have
    generic companion functionality.
Commits on Mar 22, 2011
  1. @axel22
Commits on Sep 27, 2010
  1. @axel22
  2. @axel22

    Fixes #3829. Review by extempore.

    axel22 authored
Commits on Apr 13, 2010
  1. @axel22
Commits on Apr 8, 2010
  1. @axel22

    Another set of typos fixed.

    axel22 authored
Something went wrong with that request. Please try again.