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 ]