final object CollectionStrawMan1

A strawman architecture for new collections. It contains some example collection classes and methods with the intent to expose some key issues. It would be good to compare this to other implementations of the same functionality, to get an idea of the strengths and weaknesses of different collection architectures.

For a test file, see tests/run/CollectionTests.scala.

Constructors

Members

[+] class ArrayBuffer

Concrete collection type: ArrayBuffer

Concrete collection type: ArrayBuffer

[+] final object ArrayBuffer
[+] trait CanIterate

Replaces TraversableOnce

Replaces TraversableOnce

[+] case class Cons
[+] final object Cons
[+] trait FromIterator

Base trait for instances that can construct a collection from an iterator

Base trait for instances that can construct a collection from an iterator

[+] trait Iterable

Base trait for generic collections

Base trait for generic collections

[+] trait IterableFactory

Base trait for companion objects of collections

Base trait for companion objects of collections

[+] final class IterableMonoTransforms

Implementation of MonoTransforms for all generic collections

Implementation of MonoTransforms for all generic collections

[+] final object IterableMonoTransforms

Implementation of MonoTransforms for all generic collections

Implementation of MonoTransforms for all generic collections

[+] final class IterableOps

Implementation of Ops for all generic collections

Implementation of Ops for all generic collections

[+] final object IterableOps

Implementation of Ops for all generic collections

Implementation of Ops for all generic collections

[+] final class IterablePolyTransforms

Implementation of PolyTransforms for all generic collections

Implementation of PolyTransforms for all generic collections

[+] final object IterablePolyTransforms

Implementation of PolyTransforms for all generic collections

Implementation of PolyTransforms for all generic collections

[+] final object Iterator
[+] trait Iterator

A core Iterator class

A core Iterator class

[+] final object List
[+] sealed trait List

Concrete collection type: List

Concrete collection type: List

[+] class ListIterator
[+] trait MonoTransforms

Transforms returning same collection type

Transforms returning same collection type

Transforms that only apply to Seq

Transforms that only apply to Seq

[+] final object Nil
[+] trait Ops

Operations returning types unrelated to current collection

Operations returning types unrelated to current collection

[+] trait PolyTransforms

Transforms returning same collection type constructor

Transforms returning same collection type constructor

[+] trait Seq

Base trait for sequence collections

Base trait for sequence collections

[+] final class SeqMonoTransforms

Implementation of MonoTransformsForSeqs for all generic collections

Implementation of MonoTransformsForSeqs for all generic collections

[+] final object SeqMonoTransforms

Implementation of MonoTransformsForSeqs for all generic collections

Implementation of MonoTransformsForSeqs for all generic collections

[+] final class StringMonoTransforms
[+] final object StringMonoTransforms
[+] final class StringOps

Concrete collection type: String

Concrete collection type: String

[+] final object StringOps

Concrete collection type: String

Concrete collection type: String

[+] final class StringPolyTransforms
[+] final object StringPolyTransforms
[+] class View

Concrete collection type: View

Concrete collection type: View

[+] final class ViewMonoTransforms
[+] final object ViewMonoTransforms
[+] final class ViewOps
[+] final object ViewOps
[+] final class ViewPolyTransforms
[+] final object ViewPolyTransforms
[+] implicit def IterableMonoTransforms ( c: Iterable [ A ] & FromIterator [ C ] ) : IterableMonoTransforms [ A, C ]

Implementation of MonoTransforms for all generic collections

Implementation of MonoTransforms for all generic collections

[+] implicit def IterableOps ( c: Iterable [ A ] ) : IterableOps [ A ]

Implementation of Ops for all generic collections

Implementation of Ops for all generic collections

[+] implicit def IterablePolyTransforms ( c: Iterable [ A ] & FromIterator [ C ] ) : IterablePolyTransforms [ A, C ]

Implementation of PolyTransforms for all generic collections

Implementation of PolyTransforms for all generic collections

[+] implicit def SeqMonoTransforms ( c: Seq [ A ] & FromIterator [ C ] ) : SeqMonoTransforms [ A, C ]

Implementation of MonoTransformsForSeqs for all generic collections

Implementation of MonoTransformsForSeqs for all generic collections

[+] implicit def StringMonoTransforms ( s: String ) : StringMonoTransforms
[+] implicit def StringOps ( s: String ) : StringOps

Concrete collection type: String

Concrete collection type: String

[+] implicit def StringPolyTransforms ( s: String ) : StringPolyTransforms
[+] implicit def ViewMonoTransforms ( v: View [ A ] ) : ViewMonoTransforms [ A ]
[+] implicit def ViewOps ( v: View [ A ] ) : ViewOps [ A ]
[+] implicit def ViewPolyTransforms ( v: View [ A ] ) : ViewPolyTransforms [ A ]