| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
Various addenda to soc's patch: regenerating Product/Tuple/Function
classes and AnyVal sources, making versioning consistent, etc. Closes
#4477, no review.
|
|
|
|
|
|
| |
for the patch, as it's a change I've always wanted. Moving up in the
glamorous world of scala commits! No review.
|
|
|
|
|
|
| |
Addressing most of the warnings revealed by the patch to warn about
unknown scaladoc variables. Updated and reran genprod. No review.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Moved unlift to the Function companion object, which might have been
better in the first place. Had to make a minor change to genprod, and
then I couldn't escape that unscathed. Finished the not very complete
undertaking I found there to update the scaladoc. Lots of little changes
to the generated text and code.
I changed genprod to only put a unique stamp on Function0 so we can stop
having a 100 file diff everytime an i is dotted somewhere.
Closes #3825, no review.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The initial implementation of TraversableOnce could not supply concrete
methods or even signatures for map and flatMap because they have
different signatures in Iterator and TraversableLike. But we can take
another approach which works out as nicely:
1) Create implicits which install those methods and flatten on
TraversableOnce instances. 2) Generalize the signatures of flatten
and flatMap to work with A => TraversableOnce[B] instead of A =>
Traversable[B].
And voila, you can mix and match Iterators and Traversables in a for
comprehension, map, flatMap, and flatten, without the tedious process
of sprinkling .iterator or .toList around to appease the compiler. No
review.
|
|
|
|
|
|
| |
Applied patch from davetron5000, improving documentation on ProductN and
FunctionN traits. Closes #4021.
|
|
|
|
|
|
|
|
|
| |
foreach method in Tuple3, and both classes have what is now a redundant
zip method which is also unfortunately completely strict in a not
entirely fixable fashion. So "zip" is deprecated in favor of zipped.
Closes #3526, but the code which closes that is primarily found in
r23228. No review.
|
|
|
|
|
|
|
| |
Documentation being generated by genprod was pretty busted both in terms
of formatting and correctness. Spruced it up. Eliminated some of the
more distracting HTML entities in compiler source. No review.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
An overhaul of the collection-oriented methods in Tuple2/Tuple3 (which
still need to be taken all the way to Tuple5.)
* Zip semantics: zip and zipped now properly terminate when any
collection runs out of elements, even if others are infinite. In
addition, short circuiting methods (exists and forall) will terminate if
the condition is met, even in the presence of infinity.
Example:
scala> val ys = Stream from 1
ys: scala.collection.immutable.Stream[Int] = Stream(1, ?)
scala> (ys, ys).zipped forall ((x, y) => x+y < 100)
res0: Boolean = false
scala> (ys, ys).zipped exists ((x, y) => x+y > 100)
res1: Boolean = true
* There are implicits converting Zipped2/3 to Traversable to expose all
the methods which aren't defined in an arity-specific way in the tuple
classes. I have mixed feelings about putting these in Predef; but if
there is another way to make them visible by default I wasn't able to
find it.
Example putting said implicit to use:
scala> (ys, ys, ys).zipped find { case (x, y, z) => x+y+z > 1000 }
res0: Option[(Int, Int, Int)] = Some((334,334,334))
Already reviewed by moors, so no review.
|
|
|
|
|
|
|
| |
Proposed implementation of 'unlift' on Function1, the inverse function
of PartialFunction#lift. Review by rytz and other interested parties.
References #3825, but not closing until this is further considered.
|
| |
|
|
|
|
|
| |
Removed more than 3400 svn '$Id' keywords and related junk.
|
|
|
|
|
|
|
| |
to properly specialize on primitive types (scala.Int, instead of
scala.runtime.Int). Now closures should be indeed specialized. No
review.
|
|
|
|
|
|
|
|
| |
Auto-generate scala.runtime.AbstractFunctionN classes. Moved zipped*
methods in Tuple1/2 in genprod, so that regenerating tuples does not
lose these methods. Added @specialized annotations into genprod for the
same reason.
|
|
|
|
|
|
|
| |
Adjectified some parts of speech as discussed on the mailing list. The
methods to call on FunctionN are "curried" and "tupled" with "curry"
deprecated and "tuple" gone. Closes #2907. Review by community.
|
| |
|
|
|
|
|
|
| |
Built out genprod to create a tuple method for reach function alongside
its curry method. Generated new FunctionNs.
|
| |
|
|
|
|
|
|
|
|
| |
[no content change] Fixed all SVN properties: mimes, EOL, executable. Id
expansion is consistently enabled for Scala/Java/C# sources in 'src/'
and consistently disabled and removed from everywhere else: there should
not be any dead Id tags anymore.
|
|
|
|
|
|
| |
Newly generated Tuple/Product/Function classes from new genprod, plus a
couple minor tweaks to genprod to keep tests happy.
|
|
|
|
|
|
| |
Close to complete rewrite of genprod so it's easier to modify and
leverage for other exciting Foo1-Foo22 classes.
|
|
|
|
|
|
| |
In "Iterable" and in all its subclasses, "iterator" replaces "elements"
(and assorted changes).
|
| |
|
|
|
|
|
|
|
|
|
| |
FunctionN, where N > 4, many fewer classes are created statically at the
expense of creating more objects dynamically (which seems reasonable
given how common such functions are likely to be). This also allows for
curry in FunctionN for N > 8 without running into the filename length
restriction.
|
| |
|
|
|
|
|
| |
No curry for you! (If you are FunctionN, for N < 2 and N > 16)
|
|
|
|
|
| |
Generalized curry to FunctionN for N >= 2
|
|
|
|
|
| |
Added uncurry to Function2, swap to Tuple2.
|
| |
|
| |
|
|
|
|
|
| |
updated element/arity to productElement/productArity
|
| |
|
|
|
|
|
| |
renamed arity=>productArity,element=>productElement
|
|
|
|
|
|
| |
regenerated TupleN classes so that their toString matches the (...)
tuple syntax update .check files that contained tuple toString output
|
|
|
|
|
|
|
| |
finalized the TupleN ProductN change (last dist: no automatic addition
of ProductN, this dist: manual addition of ProductN to TupleN by means
of modified genprod tool)
|
|
|
|
|
| |
* new starr, because of Tuple/Product change and collections
|
|
|
|
|
|
|
|
|
|
| |
* better comments and parameter names in scala.xml.MetaData typechecker
* now handles special cases (n=0, n=1) for unapply correctly
* * even if one returns a Option[Product1[T]]
* typechecker now handles unapply return types correctly
* * e.g. when returning Option[{A,B}] instead of Option[Product2[A,B]]
|
| |
|
| |
|
|
|
|
|
| |
changed a confusing error message "value this is not a member of T".
|
| |
|
| |
|
| |
|
|
|
|
|
| |
updated method 'andThen' in generated Function1.scala
|
| |
|
|
more products, plus some static optimization in pattern matcher
|