Scala 2.13 arrives with collections redesign and additions to the standard library

Share
  • June 11, 2019

The latest release of Scala is here!

Scala 2.13 arrives with an impressive list of changes and improvements across several key areas.

The most significant change in this release is the redesigning of the collections framework which “provides a common, uniform, and all-encompassing framework for collection types.”

Let’s have a look at the most interesting highlights of the 2.13 release.

The highlights

Scala 2.13 brings improvements and changes in four key areas: collections, standard library, language, and compiler.

Collections

As mentioned earlier, the redesigning of the collections framework is central to this new release.

Most ordinary code that used the old collections will continue to work as it is, except a certain amount of occasion including:

  • Simpler method signatures
  • Simpler type hierarchy
  • Immutable scala.Seq
  • Simplified views that work
  • New, faster HashMap/Set implementation
  • New concrete collections
  • New abstract collection type SeqMap

Standard library

Several additions, changes, as well as deprecations and removals were introduced to the standard library with Scala 2.13. But just to mention a few:

Additions

  • Integrated Java interop
  • new: Ordering.Double.TotalOrderingOrdering.Float.TotalOrdering
  • new: .toIntOption, et al

Changes

  • Library fits in compact1 profile
  • Option extends IterableOnce

Deprecations and removals

  • String-building using + with a non-String type on the left (aka any2stringadd) is deprecated
  • The following modules are no longer included in the distribution: scala-xml, scala-parser-combinators, scala-swing
  • Assorted deprecated methods and classes throughout the standard library have been removed entirely

SEE ALSO: Scala: Beyond the basics

Language changes

Although this release is primarily a library release and not a language/compiler release, there are some noteworthy language changes including some new features, experimental features, and deprecations.

Features

  • Literal types
  • Partial unification on by default
  • By-name implicits with recursive dictionaries
  • Underscores in numeric literals
  • Macro annotations (experimental)

Deprecations

  • Procedure syntax deprecated
  • View bounds deprecated

Head over to the official changelog for the extensive list of new features and improvements. 

The post Scala 2.13 arrives with collections redesign and additions to the standard library appeared first on JAXenter.

Source : JAXenter