summaryrefslogtreecommitdiff
path: root/src/library
Commit message (Collapse)AuthorAgeFilesLines
* Revised that last botched commit. No review.Paul Phillips2011-04-171-11/+23
|
* Added releaseVersion and developmentVersion to ...Paul Phillips2011-04-171-4/+23
| | | | | | Added releaseVersion and developmentVersion to Properties so people don't all have to parse the versionString. No review.
* Couple of fixes to the usecases in docs.Aleksandar Pokopec2011-04-153-11/+11
| | | | | No review.
* Having been tortured by remorse ever since tiar...Paul Phillips2011-04-156-282/+251
| | | | | | | | | Having been tortured by remorse ever since tiark told me that r23934 had made the hashmap slower, I crushed my previous efforts under the heel of my boot, threw all the types out the window, poured acid on them, and turned all the dials to the far other extreme. Pity the man who will sell his soul for a few CPU cycles. (I am that man.) Review by rompf.
* Various addenda to soc's patch: regenerating Pr...Paul Phillips2011-04-1436-69/+67
| | | | | | | Various addenda to soc's patch: regenerating Product/Tuple/Function classes and AnyVal sources, making versioning consistent, etc. Closes #4477, no review.
* Adds "since" field to @deprecated.Paul Phillips2011-04-1470-296/+317
| | | | | | for the patch, as it's a change I've always wanted. Moving up in the glamorous world of scala commits! No review.
* Adding some docs refactorings.Aleksandar Pokopec2011-04-1416-925/+997
| | | | | | | Also, added some docs variables to Gen* traits that were missing. No review.
* Doing a little polishing on the parallel collec...Paul Phillips2011-04-1415-91/+67
| | | | | | | | | | | | | Doing a little polishing on the parallel collections refactor (which overall looks like a big improvement.) I went for some simpler wording and moved a number of scaladoc tags around because the rug had been pulled out from under their feet. This leaves a lot undone, but since many of the docs need to be reworded before they can move from e.g. SeqLike to GenSeqLike, and I'm not well informed on exactly how these abstractions are being presented, I stayed in the safe zone. Review by prokopec.
* Tests which run have to be called "Test".Paul Phillips2011-04-142-1/+1
| | | | | and renames file to avoid ant's brainlessness, no review.
* Further fixes #4405.Aleksandar Pokopec2011-04-133-0/+24
| | | | | No review.
* Fixes and closes #4405.Aleksandar Pokopec2011-04-131-1/+1
| | | | | No review.
* Refactoring the collections api to support diff...Aleksandar Pokopec2011-04-13160-1904/+3601
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Pulled daemonized from the process API based on...Paul Phillips2011-04-112-7/+8
| | | | | | Pulled daemonized from the process API based on input from harrah. No review.
* Found there was still all kinds of detritus rem...Paul Phillips2011-04-112-13/+2
| | | | | | | | Found there was still all kinds of detritus remaining from the deceased IMPLICITMETHODtpe and ImplicitMethodType. Applied wrecking ball, review by moors. (Can I do the same thing with DEBRUIJNINDEXtpe and DeBruijnIndex?)
* Changed scala.io.Position into something other ...Paul Phillips2011-04-103-77/+65
| | | | | | Changed scala.io.Position into something other than a fixed object which throws exceptions when the position overflows. Closes #4382, no review.
* More fun with xml and elements not appearing eq...Paul Phillips2011-04-103-16/+4
| | | | | | More fun with xml and elements not appearing equal. Closes #4387, no review.
* Made power mode more configurable.Paul Phillips2011-04-073-0/+9
| | | | | | | | | | | | long-term configuration answer, but what I have any chance of doing before 2.9 ships. // file to interpret when entering power mode instead of default -Dscala.repl.power.initcode=/path/to/file // file holding banner to display instead of default -Dscala.repl.power.banner=/path/to/file No review.
* Added a comment to Dynamic sharing that if you ...Paul Phillips2011-04-071-4/+5
| | | | | | Added a comment to Dynamic sharing that if you don't supply mr. -Xexperimental, it won't work. No review.
* Update documentation of MutableList.Donna Malayeri2011-04-061-2/+1
|
* Misc cleanups and crash avoidance, no review.Paul Phillips2011-04-061-12/+6
|
* Fixes #4298, by correcting doc commentMartin Odersky2011-04-051-3/+2
|
* A less ad hoc infrastructure for generating Any...Paul Phillips2011-04-019-29/+46
| | | | | | A less ad hoc infrastructure for generating AnyVal sources. A few more comments on said sources. No review.
* Working on the documentation of core classes.Paul Phillips2011-04-0112-83/+298
| | | | | | | | withdraw some of the goodness I banked a while ago with the AnyVal types. Started on what will culminate in the total elimination of SourcelessComments. Cleaned up the docs on ancient classes like Product. More to come. No review.
* A quick fix for the weird string output one get...Paul Phillips2011-03-311-3/+7
| | | | | | A quick fix for the weird string output one gets in the repl when calling .par. No review.
* Emptiness check in swing, closes #1578 no review.Paul Phillips2011-03-311-1/+0
|
* Warn about unqualified names in scaladoc links ...Paul Phillips2011-03-301-1/+1
| | | | | | | Warn about unqualified names in scaladoc links because they don't work. I think it would be better to just make them work, but the way things are structured it looks involved. Closes #3696, no review.
* Addressing most of the warnings revealed by the...Paul Phillips2011-03-3026-91/+59
| | | | | | Addressing most of the warnings revealed by the patch to warn about unknown scaladoc variables. Updated and reran genprod. No review.
* Issue warning when doccomments have $variables ...Paul Phillips2011-03-303-11/+23
| | | | | | | | | | | | | | Issue warning when doccomments have $variables which go unfulfilled. Started with patch by dmharrah. Noticed expandVariables never incremented its recursion guard and ended up rewriting it. To avoid spurious warnings you can escape $'s, as in this comment: /** The decoded name of the symbol, e.g. `==` instead of `\$eq\$eq`. */ The above will be ignored during expansion and translated to $eq$eq for output. Closes #4412, no review.
* A bunch of scaladoc cleanups.Paul Phillips2011-03-2925-93/+36
| | | | | | | | the wrong places, tags saying the wrong thing. I sorted types and values so deprecated ones are at the end. I think they should be hidden by default, but this is a big improvement. Leaving #3914 open so they can be made invisible. No review.
* Made ScalaRunTime.stringOf more general by sepa...Paul Phillips2011-03-281-9/+11
| | | | | | | Made ScalaRunTime.stringOf more general by separating out the part which formats it for a repl result, and cleaned up some string functions around the repl. No review.
* Removed some bitrotted ant directives which wer...Paul Phillips2011-03-281-22/+0
| | | | | | | Removed some bitrotted ant directives which were keeping us from getting Manifest docs. Thanks to dmharrah. Also removed RichUnit, fare thee well. Closes #4404, no review.
* Added some implicitNotFound annotations to comm...Paul Phillips2011-03-287-33/+44
| | | | | | | Added some implicitNotFound annotations to commonly used classes, and some documentation to Manifest. (Said documentation is invisible for the moment due to #4404.) No review.
* Fix for linked lists closes #4080 and proves my...Paul Phillips2011-03-274-26/+23
| | | | | | | | | | | | | | | | | | | | | | | Fix for linked lists closes #4080 and proves my desire not to ship obviously broken code is even greater than my will to hold out for any help. I threw in a free fix for this which I noticed while in there. scala> scala.collection.mutable.LinkedList[Int]().head res0: Int = 0 Also was reminded how useless tests can be: val ten = DoubleLinkedList(1 to 10: _*) ten.insert(DoubleLinkedList(11)) // Post-insert position test require(ten.last == 11) Fortunately a test confirming buggy behavior still serves a purpose by breaking when you fix the bug which allowed it to pass, thus letting you fix the broken test too. Life's (very) little compensations. Linked list code should still be presumed broken. No review.
* Some accumulated work and polish on classpath a...Paul Phillips2011-03-261-7/+9
| | | | | Some accumulated work and polish on classpath and jars. No review.
* Added a temporary fix for #4351, but disabled i...Aleksandar Pokopec2011-03-243-24/+198
| | | | | | | | | | | | | Added a temporary fix for #4351, but disabled it because the extend specialized class with nonspecialized type-parameters is used in the stdlib already. Disabling scala.parallel package, adding the currently disabled scala.concurrent package which will be implemented in some of the next releases. Review by phaller.
* Added implicit TaskRunner parameters to scala.c...Philipp Haller2011-03-241-2/+2
| | | | | Added implicit TaskRunner parameters to scala.concurrent.ops.{par, replicate}. Review by prokopec.
* Deprecated unused members in scala.concurrent.Philipp Haller2011-03-245-14/+26
|
* Discovered Range.foreach inlining was broken du...Paul Phillips2011-03-242-32/+19
| | | | | | Discovered Range.foreach inlining was broken due to a Nothing signature appearing and confusing the loader. No review.
* Fixes #4298. Review by extempore.Martin Odersky2011-03-231-6/+6
|
* My early attempts to implement non-integral ran...Paul Phillips2011-03-231-1/+1
| | | | | | | | | | | | | | My early attempts to implement non-integral ranges in a way which was useful without having lots of floating point traps were less than successful. One of the bigger backfires is that the requirement not to round (trying, and failing anyway, to avoid surprises with methods like "contains") inflicts runtime errors. The simple way to improve this, which seems a good idea anyway, is to make the default math context something less inclined to exceptions. Default BigDecimal mc is now DECIMAL128. References #1812, #4201 and puts #4201 back to normal priority. Review by community.
* Adding some tests for #3651.Aleksandar Pokopec2011-03-221-1/+4
| | | | | No review.
* Implementing foreach to work in parallel in Par...Aleksandar Pokopec2011-03-2229-47/+61
| | | | | | | | | | | | Implementing foreach to work in parallel in ParIterableLike. Doing a bunch of refactoring around in the collection framework to ensure a parallel foreach is never called with a side-effecting method. This still leaves other parts of the standard library and the compiler unguarded. No review.
* Adding the `seq` method to all collections.Aleksandar Pokopec2011-03-2213-19/+46
|
* Fix for a big bug in lastIndexOfSlice and some ...Paul Phillips2011-03-191-104/+112
| | | | | | | Fix for a big bug in lastIndexOfSlice and some latent negative index bugs in both that and indexOfSlice. This stuff is taxing. Closes #4348, no review.
* Oh yeah, now I remember why I started with leng...Paul Phillips2011-03-191-0/+1
| | | | | | Oh yeah, now I remember why I started with length overrides. Fix for soon to be failing test, no review.
* Fix for a slice related array view regression.Paul Phillips2011-03-191-2/+0
|
* Removed long deprecated and obscure CloneableCo...Paul Phillips2011-03-193-54/+18
| | | | | | | | | | | | | Removed long deprecated and obscure CloneableCollection. Discovered we have a scala.collection.mutable.Cloneable which does not extend java.lang.Cloneable, which is why Array is not considered cloneable. That seems wrong, but to be conservative I gave Array the Cloneable interface without altering the scala trait. Also, if @serializable is deprecated in favor of Serializable, should not @cloneable be deprecated analogously? Closes #4307, and a commit-question review by rytz.
* Some boundary conditions in range.Paul Phillips2011-03-194-22/+57
| | | | | | | infix implicits to Integral and Fractional. As a bonus this patch knocked 10,000 long boxings off a specialized test. Who knew. Closes #4308, #4321, review by community.
* Removing toPar* methods, since we've agreed the...Aleksandar Pokopec2011-03-1839-177/+170
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Removing toPar* methods, since we've agreed they're difficult to: - underestand - maintain Also, changed the docs and some tests appropriately. Description: 1) Every collection is now parallelizable - switch to the parallel version of the collection is done via `par`. - Traversable collections and iterators have `par` return a parallel - collection of type `ParIterable[A]` with the implementation being the - representative of `ParIterable`s (currently, `ParArray`). Iterable - collections do the same thing. Sequences refine `par`'s returns type - to `ParSeq[A]`. Maps and sets do a similar thing. The above means that the contract for `par` changed - it is no longer guaranteed to be O(1), nor reflect the same underlying data, as was the case for mutable collections before. Method `par` is now at worst linear. Furthermore, specific collection implementations override `par` to a more efficient alternative - instead of copying the dataset, the dataset is shared between the old and the new version. Implementation complexity may be sublinear or constant in these cases, and the underlying data structure may be shared. Currently, these data structures include parallel arrays, maps and sets, vectors, hash trie maps and sets, and ranges. Finally, parallel collections implement `par` trivially. 2) Methods `toMap`, `toSet`, `toSeq` and `toIterable` have been refined for parallel collections to switch between collection types, however, they never switch an implementation from parallel to sequential. They may or may not copy the elements, as is the case with sequential variants of these methods. 3) The preferred way to switch between different collection types, whether maps, sets and seqs, or parallel and sequential, is now via use of methods `toIterable`, `toSeq`, `toSet` and `toMap` in combination with `par` and `seq`. Review by odersky.
* Accumulated work on fsc.Paul Phillips2011-03-184-5/+26
| | | | | | | | | | | | | | | | | | | | adds the following new options. -ipv4 Use IPv4 rather than IPv6 for the server socket absolute-cp Make -classpath elements absolute paths before sending to server max-idle -Set idle timeout in minutes for fsc (use 0 for no timeout) My question marks are what are the right defaults for the first two. Former behavior is to absolutize the classpath always and never prefer IPv4 sockets. I changed the default to not absolutize the classpath, with the option if you need it; I left the system default in place for the socket creation, but I have a feeling we should default to IPv4. My only hesitation is that the only way to request an IPv4 socket from java involves mutating a global system property. (Robustness FTW.) So for now, you have to give -ipv4. Closes #3626, #3785, #3788, #3789. Review by community.