Have the best of both worlds. Construct elegant class hierarchies for maximum code reuse and extensibility, implement their behavior using higher-order functions. Or anything in-between.Learn More
click the boxes below to see Scala in action!
Scala runs on the JVM, so Java and Scala stacks can be freely mixed for totally seamless integration.
So the type system doesn’t feel so static. Don’t work for the type system. Let the type system work for you!
Use data-parallel operations on collections, use actors for concurrency and distribution, or futures for asynchronous programming.
Combine the flexibility of Java-style interfaces with the power of classes. Think principled multiple-inheritance.
Think “switch” on steroids. Match against class hierarchies, sequences, and more.
Functions are first-class objects. Compose them with guaranteed type safety. Use them anywhere, pass them to anything.
We are happy to announce three new Scala releases: 2.11.11 concludes the 2.11 series, 2.12.2 brings bug fixes and small improvements, and 2.13.0-M1 sets the scene for modularization and improvements coming in the next major release next year. Many thanks to everyone who contributed!
For the highlights of these three releases, read on.
Scala 2.11.11 contains many smaller fixes and a few backports from 2.12. It also features improved error messages on missing dependencies; this improvement was developed by @jvican at the Scala Center under proposal SCP-009, which aims to speed up builds by shrinking the build classpath.
(Yes, we skipped 2.11.9 and 2.11.10. Special thanks to @xuwei-k and @sjrd for reporting and helping diagnose the regressions in those withdrawn releases.)
Scala 2.13.0-M1 (milestone 1) prepares for the next phase of the standard library modularization and the collections rework. The parallel collections are now a separate module, and many deprecated members have been removed. As a reminder, our full 2.13 roadmap is available for review on GitHub.