- About Scala
- Documentation
- Code Examples
- Software
- Scala Developers
Scala Meeting report, 2010-03-16
Fri, 2010-03-19, 12:35
We are currently publishing a summary of each of the weekly meetings of the
Scala Core Team.
This information is made available as a service to the community. It is by
necessity rather brief and gives only a rough approximation of the main
points of discussions explored during each meeting; it should not be taken
as a source of reliable information, nor as a record of concrete or firm
decisions, nor as anything other than a record of a simple discussion.
The summary that follows is primarily intended for Scala contributors and
maintainers. If you are not a contributor to the Scala system, the
information below is unlikely to be very useful to you, and you might lack
some of the necessary background to make sense of all the discussion items.
We do not have enough people on the team to be able to write a more
complete record, and we might also not have the resources to discuss every
point in detail afterwards. Nevertheless, we hope that this record, cursory
as it is, is better than nothing.
------------------------------------------------------------------------------
Scala Meeting 2010-03-16
Starts at 11h00 Scala Time (GMT+1).
People attending the meeting: Donna, Adriaan, Tiark, Ingo, Gilles, Martin,
Alex, Toni, Hubert, Philipp, Lukas.
* Current work
- Bugfixing
- Immutable maps and sets, exceptions and continuations
- Exceptions
- Reactors
- Pickling of scala signatures
- Parallel collections refactoring
* Build and pack of continuations
Target quick.plugins builds continuations.jar in the plugins directory. To
enable continuations, one must pass a flag `-P:continuations:enable` and
the compiler will search for the jar in the plugins directory. Currently
Maven doesn't load this dependency automatically if one is using a library
that depends on the plugin. This can lead to strange errors during runtime.
In the future we will have to develop a technique to resolve dependencies
between jar files.
* 2.8 issues
- Pickle format 2.8
The problem - we have to change the pickle format. Currently, Scala sig is
stored inside classfiles as attributes with additional information. This
cannot be accessed using reflection. One solution is to put the signature
into a Java annotation. The problem is that scalap currently fails. Also,
Eclipse Scala plugin and IntelliJ may fail due to this.
The best solution is still being worked on. There will be a migration guide
published.
- Collection 2.8
Method `++` on `Buffer`s will now copy the buffer, `keys` and `values` have
changed semantics. Paul's `-migration` flag will warn users during compile
time. Methods `scanLeft` and `scanRight` have been added to `Traversable`.
We will reevaluate whether to release the RC next week.
* Default 'implicitly' when no implicit found
import Predef.{implicitly => ?}
def foo(implicit x: Int, y: String)
implicit val i = 1
foo(y = "txt", x = ?)
--> transform to foo(y = "txt", x = implicitly)
Decision: let's just leave it as is, since we'd have to complicate the
semantics of default arguments into those that are evaluated at definition
site versus call-site.
Right now, you can do it concisely by renaming implicitly to ? with an
import (maybe we could provide both versions in predef?)
* When the next RC is released, I can make a rule in maven to automatically include the continuations plugin for scala versions 2.8.0.RCX and greater. for now, because 2.8.0-SNAPSHOT may not include the continuations support, we're waiting.
* Does the continuations plugin jar need to be on the classpath for things to work, or can I send in a compiler flag? I've been using the continuations plugin extensively from maven, and things are working ok. I should have a bug report shortly, but wanted to make sure I'm doing things correctly.
Thanks,
- Josh
On Fri, Mar 19, 2010 at 7:35 AM, Antonio Cunei <antonio.cunei@epfl.ch> wrote: