Acknowledgements | Contents |
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 McIver 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.
Acknowledgements | Contents |