|
| 1 | +--- |
| 2 | +layout: blog-detail |
| 3 | +post-type: blog |
| 4 | +title: Status of the Collections |
| 5 | +by: Julien Richard-Foy |
| 6 | +--- |
| 7 | + |
| 8 | +This post gives a short update about the |
| 9 | +[new collections](https://github.com/scala/collection-strawman/) status. |
| 10 | + |
| 11 | +We have published a |
| 12 | +[0.4.0](https://index.scala-lang.org/scala/collection-strawman/collection-strawman/0.4.0?target=_2.13.0-M2) |
| 13 | +release a few days ago, which: |
| 14 | + |
| 15 | +- gets closer to feature parity with the standard collections, with the addition |
| 16 | + of the `TrieMap` collection type as well as several operations (`withFilter`, `distinct`, |
| 17 | + `patch`, `:++`, to name a few); |
| 18 | +- comes with a |
| 19 | + [migration tool](https://github.com/scala/collection-strawman#migrating-from-the-standard-collections-to-the-strawman) |
| 20 | + to adapt existing code bases from the standard collections to the strawman; |
| 21 | +- benefits from internal improvements (optimizations, bug fixes, test coverage). |
| 22 | + |
| 23 | +Most of these changes have been contributed by external developers, which I am very |
| 24 | +grateful to: @EPronovost, @marcelocenerine, @nicolasstucki, @odd, @olafurpg, @smarter |
| 25 | +@xavier-fernandez. |
| 26 | + |
| 27 | +## Next Steps |
| 28 | + |
| 29 | +Stefan Zeiger is currently working on replacing the current collections of the |
| 30 | +standard library with the strawman and then making the compiler use it. |
| 31 | + |
| 32 | +Rex Kerr is working on increasing the tests coverage by introducing property-based |
| 33 | +tests based on [collections-laws](https://github.com/scala/scala-collections-laws). |
| 34 | + |
| 35 | +As you can see in the list of issues planned for the |
| 36 | +[next release](https://github.com/scala/collection-strawman/milestone/4), |
| 37 | +we continue to implement missing collection types (e.g. `LinkedHashMap`) |
| 38 | +and operations but we also start introducing new operations (such as `intersperse` |
| 39 | +or `lazyFoldRight`). I’m going to write more developer documentation to explain |
| 40 | +the internals of the new design, so that, in case you want to suggest adding something that |
| 41 | +you feel is missing, it will be easier to contribute! |
| 42 | + |
0 commit comments