This page is no longer maintained — Please continue to the home page at www.scala-lang.org

Scala Meeting report, 2010-01-05

No replies
Antonio Cunei
Joined: 2008-12-16,
User offline. Last seen 3 years 22 weeks ago.

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.

------------------------------------------------------------------------------

Report from the Scala Core Team meeting, 2010-01-05:

People attending the meeting: hubert, Martin, Eugene, Donna, Phil, Adriaan,
Lukas, Toni, Gilles, Iulian, Philipp.

* Current work
- Martin improved by a large margin implicits resolution, leading to a
substantial improvement in compilation time.

* Deprecation
- The WeakReference wrapper in scala.ref does not subclass Java's
WeakReference class, which complicates the interaction with reference
queues. While basic support for reference queues was provided through an
internal hash map in ReferenceQueue, there were a couple of remaining bugs
(#2852, #2854). However, we cannot change the superclass because of method
'get', which in the Java version might return null, while the Scala class
introduces a 'get' returning Option. A recent bug fix (r20341) implements a
general solution that enables full reference queue support for references
in scala.ref. Because of the above mentioned conflict it keeps the wrapper
design, which currently requires allocation of two objects instead of one.
By gradually replacing the Option-returning 'get' method, we could switch
to a more efficient scheme.
- Resolution: keep API as-is, do not deprecate Option-returning 'get'
method.

* Tests
- The tests in the compiler that use the compiler plugins architecture
rely on precompiled jar files that are sensitive to changes in binary
format of the plugin API. They need to be manually recompiled and deployed
in the test directory. We'll look into simplifying the one-step
recompilation of the binary jars present in the repository.

* Reviews
- Are people doing the reviews?
- Experience with the tool?
- Should we invite the community?
- We will post a message to scala-internals with more details for the
community.

* 2.8.0 Beta
- A few non-critical issues:
- scaladoc occasion on IBM 1.6, w/ bizarre message "[scaladoc]
scala.tools.nsc.FatalError: program logic: lastTagKey set when no tag
exists for key". This is apparently an IBM VM issue, we cannot do anything
about it.
- the "newlibs" ant target is somewhat broken right now, it should to
be split in two for forkjoin and for the rest. Rebuilding on 1.6, msil and
fjbg get compiled for 1.6; compiling on 1.5, forkjoin compilation fails
(obviously). So, currently the various jars need to be rebuilt manually. It
is a very minor matter, and bears no impact whatsoever on end users.
- the test "plugin-cyclic-dependency" fails non-deterministically (see
"tests", above). Will recompile the jars.
- partest was skipping certain tests, this should be fixed now.
- There is a test ("inner") that very rarely fails on IBM VMs. The VM
crashes with a core dump. It is a VM bug, so we cannot do much.
- The tests "reactor-exceptionOnSend" and "future-awaitall-zero"
recently failed. This should be fixed now.
- sbaz is currently broken in trunk, due to r20302. We will revert the
commit for the time being.
- A few bugs were reported against RC6. Currently open: #2850 and #2835,
which was marked as a duplicate of #2310. They do not seem critical, but
we'll try to fix them before the beta
- The Eclipse plugin seemingly needs more work; we'll arrange a phone
meeting with Miles
- We will release a new RC, possibly later this week; it will include
the latest speed improvements and fixes.

Copyright © 2012 École Polytechnique Fédérale de Lausanne (EPFL), Lausanne, Switzerland