IDEs for Scala
Scala in a Nutshell
click the boxes below to see Scala in action!
or visit the Scala Documentation
Online Courses
![](/resources/img/frontpage/coursera-icon.png)
Functional Programming Principles in Scala
- Free (optional paid certificate)
- •
- New sessions starting every 2 weeks!
![](/resources/img/frontpage/coursera-icon.png)
Functional Program Design in Scala
- Free (optional paid certificate)
- •
- New sessions starting every 2 weeks!
![](/resources/img/frontpage/coursera-icon.png)
Parallel Programming
- Free (optional paid certificate)
- •
- New sessions starting every 2 weeks!
![](/resources/img/frontpage/coursera-icon.png)
Big Data Analysis with Scala and Spark
- Free (optional paid certificate)
- •
- New sessions starting every 2 weeks!
![](/resources/img/frontpage/coursera-icon.png)
Functional Programming in Scala Capstone
- Free (optional paid certificate)
- •
- New sessions starting every 2 weeks!
Visit all the Online Courses courses
What’s New
BLOG
Announcing Dotty 0.1.2-RC1, a major step towards Scala 3
Wednesday, May 31, 2017Today, we are excited to release Dotty version 0.1.2-RC1. This release serves as a technology preview that demonstrates new language features and the compiler supporting them.
Why is this important?
Dotty is the project name for a language and compiler that is slated to become Scala 3.0. This is an ongoing development, transparently developed as open source software. The Dotty project started more than 4 years ago. It reached a major milestone in 2015 by achieving bootstrap, that is, showing that the new compiler could compile itself. Today we have reached another milestone with this first release of the codebase. Developments will not stop here, but they will in the future all be part of regular time-based releases.
How can you try it out?
You have several alternatives: use the sbt-dotty
plugin, get a standalone
installation, or try it online on Scastie.
sbt
Using sbt 0.13.13 or newer, do:
sbt new lampepfl/dotty.g8
This will setup a new sbt project with Dotty as compiler. For more details on using Dotty with sbt, see the example project.
Standalone installation
Releases are available for download on the Releases section of the Dotty repository: https://github.com/lampepfl/dotty/releases.
We also provide a homebrew package that can be installed by running
brew install lampepfl/brew/dotty
Scastie
Scastie, the online Scala playground, supports Dotty. You can try it out there without installing anything.
What’s in the 0.1.2-RC1 technology preview?
This technology preview demonstrates new language features planned for Scala 3:
We also ship with tools that help you try out the Dotty platform:
See here for the full release notes.
Release schedule
Starting from this release, we are adopting a time-based release schedule:
- Nightly builds will be published, for those wanting to be at the forefront of development.
- Every 6 weeks, a release candidate will be cut based on the latest nightly build.
- Every 6 weeks, the latest release candidate becomes a release.
At the end of 6 weeks, the milestone will be promoted to a stable release. See here for the full version number explanation.
What are the next steps?
Over the coming weeks and months, we plan to work on the following topics:
- Integrate Local optimizations developed in Dotty linker;
- Add Language-level support for HMaps and HLists;
- Port global optimizations from Dotty linker.
If you want to get your hands dirty with any of this, now is a good moment to get involved! Join the team of contributors, including Martin Odersky (@odersky) Dmitry Petrashko (@DarkDimius), Guillaume Martres (@smarter), Felix Mulder (@felixmulder), Nicolas Stucki (@nicolasstucki), Liu Fengyun (@liufengyun), Olivier Blanvillain (@OlivierBlanvillain), and others!
Library authors: Join our community build
Dotty now has a set of libraries that are built against every nightly snapshot. Currently this includes scalatest, squants and algebra. Join our community build to make sure that our regression suite includes your library.
To get started, see https://github.com/lampepfl/dotty.
Recently
Tribulations of CanBuildFrom
- Tuesday, May 30, 2017
- •
- Julien Richard-Foy
- BLOG
CanBuildFrom is probably the most infamous abstraction of the current collections. It is mainly criticised for making scary type signatur...
What's new with Scala Native?
- Friday, May 26, 2017
- •
- Martin Duhem, Guillaume Massé and Denys Shabalin
- BLOG
It has been a little bit more than two months since Scala Native 0.1 has been released. What’s new in Scala Native? What should you expec...
Scastie is out of beta and available to everybody!
- Friday, May 19, 2017
- •
- Guillaume Massé
- BLOG
The Scala Center team is extremely happy to announce that Scastie is out of beta! That means anyone can use Scala in the browser over at ...
Talk to us!
Mailing lists / forums
![Scala Users Discourse](/resources/img/frontpage/discourse-logo.png)
Scala Users Discourse
for general Scala questions, discussion and library announcements
![Scala Contributors Discourse](/resources/img/frontpage/discourse-logo.png)
Scala Contributors Discourse
for Scala contributions, language evolution dicussions, standard library, Scala platform evolution discussions and more
Real-time (topic-specialized) chat
Twitter Feed
See more tweets, or
Follow Scala on twitter