aboutsummaryrefslogtreecommitdiff
path: root/src/strawman/collections
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2016-05-12 17:32:59 +0200
committerMartin Odersky <odersky@gmail.com>2016-05-12 17:32:59 +0200
commit428642afa331fafaffa90880fc9352d6fb366a84 (patch)
tree46b54bb7d7875bf4409ff8e61fbec314d888326b /src/strawman/collections
parent298a3e87823ab83a807ba80cc6563e50088c16da (diff)
downloaddotty-428642afa331fafaffa90880fc9352d6fb366a84.tar.gz
dotty-428642afa331fafaffa90880fc9352d6fb366a84.tar.bz2
dotty-428642afa331fafaffa90880fc9352d6fb366a84.zip
Explain specific changes in later strawman proposals
... relative to CollectionStrawman1.
Diffstat (limited to 'src/strawman/collections')
-rw-r--r--src/strawman/collections/CollectionStrawMan4.scala2
-rw-r--r--src/strawman/collections/CollectionStrawMan5.scala9
2 files changed, 11 insertions, 0 deletions
diff --git a/src/strawman/collections/CollectionStrawMan4.scala b/src/strawman/collections/CollectionStrawMan4.scala
index 874f67a2d..ec20849ff 100644
--- a/src/strawman/collections/CollectionStrawMan4.scala
+++ b/src/strawman/collections/CollectionStrawMan4.scala
@@ -12,6 +12,8 @@ import annotation.tailrec
* strengths and weaknesses of different collection architectures.
*
* For a test file, see tests/run/CollectionTests.scala.
+ *
+ * Strawman4 is like strawman1, but built over views instead of by-name iterators
*/
object CollectionStrawMan4 {
diff --git a/src/strawman/collections/CollectionStrawMan5.scala b/src/strawman/collections/CollectionStrawMan5.scala
index 1a89d9659..5d04c2c98 100644
--- a/src/strawman/collections/CollectionStrawMan5.scala
+++ b/src/strawman/collections/CollectionStrawMan5.scala
@@ -12,6 +12,15 @@ import annotation.tailrec
* strengths and weaknesses of different collection architectures.
*
* For a test file, see tests/run/CollectionTests.scala.
+ *
+ * Strawman5 is like strawman4, but using inheritance through ...Like traits
+ * instead of decorators.
+ *
+ * Advantage: Much easier to specialize. See partition for strict (buildable) collections
+ * or drop for Lists.
+ *
+ * Disadvantage: More "weird" types in base traits; some awkwardness with
+ * @uncheckedVariance.
*/
object CollectionStrawMan5 {