then following wherever that led me. Tangible results include:
* much beautified scala -help, including documenting some things
never before documented in this plane of existence
* an improved Jar abstraction
* further systemization of system properties
In addition, the jars created by -savecompiled are given the right
manifest so the jar is runnable. That means you can:
scala -savecompiled bippy.scala arg1 arg2
scala -jar bippy.scala.jar arg1 arg2
And both lines should yield the same result. No review.
git-svn-id: http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk@24470 5e8d7ff9-d8ef-0310-90f0-a4852d11357a
warnings due to my changing a map from mutable to immutable (which
ought to be the good direction) because "def update" still
lingers on immutable maps. I counted the days elapsed since it
was marked for death (before 2.8.0) and added in the bugliness
of what I was looking at and bid it farewell.
Now removed: def update on immutable maps. No review.
git-svn-id: http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk@24469 5e8d7ff9-d8ef-0310-90f0-a4852d11357a
sensibly are reluctant to introduce in the default scope. The
test case pretty much sums it up.
import Ordering.Implicits._
import Numeric.Implicits._
def f1[T: Numeric](x: T, y: T, z: T) = x + y + z
def f2[T: Ordering](x: T, y: T, z: T) = if (x < y) (z > y) else (x < z)
No review.
git-svn-id: http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk@24468 5e8d7ff9-d8ef-0310-90f0-a4852d11357a
which were battled out in more than one venue and then aptly summarized
by retronym in #3791. Thanks to Simon Ochsenreither for submitting
a patch; I wasn't able to use too much of it because the source
code for these types is generated, but effort is always
appreciated. Closes#3791, and I'm tired and I'd hate to blow
this one at this late date: review by rytz.
git-svn-id: http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk@24461 5e8d7ff9-d8ef-0310-90f0-a4852d11357a
transcript pasting. Now goes back in time to fix the transcript if it
contains self-referential "res0, res1" etc. so that it works as it
originally did. Shows which commands it is running, and places the
commands with their result in a manner suitable for framing.
Also, a new :paste command which accepts input up to ctrl-D, so you
can enter companions without gyrations, or code from people who write
in a repl unfriendly fashion by putting their curly braces on the next
line (I'm looking at you mark harrah) or you name it, it's not picky.
No review.
git-svn-id: http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk@24460 5e8d7ff9-d8ef-0310-90f0-a4852d11357a
exist. Also expunged a bunch of history code which didn't get
where it was going, including everything involving shutdown hooks.
No review.
git-svn-id: http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk@24459 5e8d7ff9-d8ef-0310-90f0-a4852d11357a
I guess if views are only 50x as slow on windows that's still
a lot better than 100,000. (The real issue is more like
"it's windows" plus "it's windows running on virtualbox".)
No review.
git-svn-id: http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk@24439 5e8d7ff9-d8ef-0310-90f0-a4852d11357a
forever. It's a light interface to system properties. It's not
intended to solve all property issues for all time, only to greatly
improve on the overly ad-hoc ways things are presently done.
Feedback welcome. Sorry it's coming in this late but it arises
from writing the tools to fix the bugs to allow that release to happen.
That's nature's circle of bugs. Review by community.
git-svn-id: http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk@24437 5e8d7ff9-d8ef-0310-90f0-a4852d11357a
Almost all view classes now list parents like
trait Appended[B >: A] extends super.Appended[B] with Transformed[B]
instead of the former
trait Appended[B >: A] extends Transformed[B] with super.Appended[B]
because as it was, the implementation of foreach in TraversableViewLike#Transformed
was repeatedly trumping overrides found in e.g. IterableLike. This change
was not without its own consequences, and much of the rest of the patch
is dealing with that. A more general issue is clearly revealed here: there
is no straightforward way to deal with trait composition and overrides when
some methods should prefer B over A and some the reverse. (It's more like
A through Z in this case.)
That closes#4279, with some views being five orders of magnitude slower
than necessary. There is a test that confirms they'll stay performance
neighbors.
In the view classes (Zipped, Mapped, etc.) I attended to them with comb and
brush until they were reasonably consistent. I only use "override" where
necessary and throw in some "final" in the interests of trying to anchor the
composition outcome. I also switched the newSliced, newZipped, etc. methods
to use early init syntax since a number have abstract vals and I found at least
one bug originating with uninitialized access.
There was a piece of a parallel collections scalacheck test failing, which
I disabled out of expedience - am emailing prokopec.
There is plenty of work left to do but paulp must get back to other 2.9 issues.
This is the Zurich->SF airplane patch. No review.
git-svn-id: http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk@24432 5e8d7ff9-d8ef-0310-90f0-a4852d11357a
should avoid needlessly recomputing parsers
review by plocinic (so you can include a version that uses the direct support for lazy args in your branch)
git-svn-id: http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk@24422 5e8d7ff9-d8ef-0310-90f0-a4852d11357a
that is drop and take.) In the course of trying to get it working
consistently (mostly with respect to negative indices, which were
dealt with arbitrarily differently across the 25+ concrete
implementations) I fixed various bugs.
Closes#4288, no review.
git-svn-id: http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk@24414 5e8d7ff9-d8ef-0310-90f0-a4852d11357a