What's new in Scala 2.10
Confirmed
Language
- String interpolation (SIP-11)
https://github.com/scala/scala/commit/6ea9f72ffd0e1b606cb5ad4670b4db8330fa29b9 - Implicit classes (SIP-13)
https://github.com/scala/scala/commit/2c28680ca95c042c5b66de6c4b58c8367599cb44 - Value classes (SIP-15)
https://github.com/scala/scala/commit/55990c9ec619cf212a31db4f818dedb5d3150157 - ScalaObject deprecated
https://github.com/scala/scala/commit/d9740f82a3aea3b223233776cd7c9460a2e4dfc3 - Macros (Project Kepler) (SIP-16)
https://github.com/scala/scala/commit/814cf34fb00f9ccb001249f4b3445ebc4f9942c9 - Modularizing Language Features (SIP-18)
https://github.com/scala/scala/commit/f7a0558059559305a88ffa2c28506b29b2bc57f2 - Floating point and octal literal syntax deprecation
https://github.com/scala/scala/commit/8eba9acbc49eb02b9b5bd8523873a181255e4bb6 - Type arguments don't need a dot anymore
https://github.com/scala/scala/commit/f987afe55e6d4f71c7e9ad10d1ca9f6120dc1132
Library
- Futures and Promises, redesign of scala.concurrent, part 1 (SIP-14)
http://docs.scala-lang.org/sips/pending/futures-promises.html - Fast for loops (Range#foreach)
https://github.com/scala/scala/commit/4cfc633fc6cb2ab0f473c2e5141724017d444dc6 - Reflection API (scala.reflect.*)
- Runtime compiler toolbox
https://github.com/scala/scala/commit/ffb65f00615ba524298b39e676debf45af4a13cb - Separation of Scala Actors from the main library jar
https://github.com/scala/scala/commit/a38fd5c324899eeafe725f5499d53a14c8766ce7 - Scala actors will be deprecated and replaced by Akka actors after 2.10
https://docs.google.com/document/d/1uHwCuP4kUZC5-h6lma_lVlXWBQ3CDwbjHeIonEnP3... - Removal of scala.dbc
https://github.com/scala/scala/commit/56c1f29250842575b2c3324cc8bd606bda3760d5 - Added ??? and NotImplementedError
https://github.com/scala/scala/commit/497e6321a0aea209b679c428f1b76219d2920fd3 - Reduced size of PartialFunctions
https://github.com/scala/scala/commit/5fb68614da51c601e354d13ae123820b355594d0 - Integration of collection.mutable.TreeSet (SI-4147)
https://github.com/scala/scala/commit/51ddeb372b3f0b22041d9a51f3faee17acd7b749 - Integration of ConcurrentTrieMap
https://github.com/scala/scala/commit/5fe2d8b109abf3ff3e2d82dd4f248200846795c3 - Performance improvements to immutable.TreeSet/TreeMap (SI-5331)
https://github.com/scala/scala/pull/82 - Range#sum is now O(1) instead of O(n)
https://github.com/scala/scala/commit/db7bd31896231cbb8f018ffd8a82bc956d066e40 - Update of the ForkJoin framework (SI-5223)
Compiler
- Type Dynamic (SIP-17)
https://github.com/scala/scala/commit/2286d7b43180f3018a041163dc0cfa951c0397a4 - Scala will start targeting Java versions > 5. Java 5 support might be a community effort, if there is interest in it.
https://groups.google.com/d/msg/scala-language/oskST3kY7nI/4L0qOVpVL7QJ - ASM/Java6+ backend
https://groups.google.com/d/msg/scala-internals/l35CbKnRaXU/FPS_Agyr0A0J
https://github.com/scala/scala/commit/454c2a0c775c92be7f2a741bb6ab17b55f1eddb1 - Continuations enabled by default
https://github.com/scala/scala/commit/da35106f81a5c24e78ff51c95e10052ad4f23b18 - Code reification with scala.reflect.mirror.reify
- Better Manifests (TypeTags)
- REPL writing suggstions
https://github.com/scala/scala/commit/3e9e4ecf360e6eda5c26f798abfcb9bb882cf772 - Some parts of scala-virtualized (SourceContext, applyDynamic, ...)
https://groups.google.com/d/msg/scala-internals/Pnf7DGVaVmw/8aWw7TNYUaQJ - virtualized pattern matcher
https://groups.google.com/d/msg/scala-internals/k9_4yp2RS90/H_r6gUeGQ3kJ - ScalaDoc and documentation improvements
https://github.com/scala/scala/commit/2adf5a0613c332045b65687a1f1e8a3fe8dd0222 - Reduced size of standard library
https://github.com/scala/scala/commit/a0a045f5c0b5aa6ed02c849c4ab013cfbfd4e24f
https://github.com/scala/scala/commit/1d0372f84f9a7325a47beb55169cc454895ef74b - Reduced problems with too many declared interfaced on Android
https://github.com/scala/scala/commit/7a99c03da1d31ac5950eecb30f422f43c5e3d04e - Vastly faster code inliner
https://github.com/scala/scala/commit/ba00a5b9344275b64935cf18191201cc54d59cdb
https://github.com/scala/scala/commit/269d1650041f68bd2f7275cf73cbf5a764df9b5d - Implicits are now shown in ScalaDoc
https://github.com/scala/scala/commit/355264f9d53c09182fe6f480319543dc914860d1
Maybe
- Redesign of scala.concurrent, part 2 (SIP-??)
- Removal of DelayedInit and view bounds
https://groups.google.com/d/msg/scala-sips/wP6dL8nIAQs/rici3GNsZAQJ - Quasiquotations (SIP-??)
- GWT backend
https://groups.google.com/d/msg/scala-internals/X-5SkQu73yM/cWB8vRctSZ4J - Merge of Traversable/Iterable
https://groups.google.com/d/msg/scala-internals/5x7sQWjyrDM/jHjZP-snTO0J - Integration of math.Rational and math.Complex
- Redesign of math.Numeric
Probably not
- Removal of String (any2stringadd) and number implicits
- Removal of the deprecated methods in List.