Acknowledgements

The new collections API has been designed and implemented from 2008
to 2010 by Martin Odersky, with important help from Adriaan Moors,
Paul Phillips, Aleksandar Prokopec and others. The original design
was puiblished as a Scala
improvement document (SID).

Many contributors have shaped the collection design in important
ways. The framework would not exist without their
contributions. Matthias Zenger wrote Scala's original collection
libraries for sets, maps, buffers, and other types. Many of his
design decisions have survived the redesign. Some have been
generalized, such as his partition into mutable and immutable
collection packages, which now applies uniformly for all kinds of
collections including sequences. Sean McDirmid added projections to
the original collection libraries, a concept which has been taken up
in the redesign under the name of views. Adriaan Moors developed
higher-kinded types in Scala, which gave the primary motivation for
attempting a collection redesign. Adriaan was also the first to explore
builders as a fundamental abstraction for Scala's collections. David
MacIver had the idea of builders as implicit parameters and
proposed Traversable as a generalization of Iterable. Miles
Sabin contributed the bidirectional wrappers that convert between Java
collections and Scala collections. Phil Bagwell and Tiark Rompf
developed the data structures underlying vectors and hash tries and
Tiark wrote their implementation. Similar data structures are also
used in the Clojure collections. Toni Cunei, Gilles Dubochet, Burak
Emir, Stepan Koltsov, Stéphane Micheloud, Tony Morris, Jorge Ortiz,
David Pollak, and many others have contributed to
specific collection classes or made important suggestions for
improvements.