Dotty
A next generation compiler for Scala
Try Dotty
If you are a Mac user, you can install Dotty with brew:
brew install lampepfl/brew/dotty
If you are a Linux or Windows user, download the latest release. Optionally add path of the folder bin/ to the system environment variable PATH.
Now you can compile Scala source code:
dotc hello.scala
To start the REPL, run: dotr.
Or, you can try Dotty in your browser with Scastie.
Create a Dotty Project
The fastest way to create a new project in Dotty is using sbt (1.1.4+).
Create a Dotty project:
sbt new lampepfl/dotty.g8
Or a Dotty project that cross compiles with Scala 2:
sbt new lampepfl/dotty-cross.g8
For documentation see the Dotty Example Project.
So, features?
| Union, intersection and literal singleton types | Implemented |
| Trait parameters | Implemented |
| @static methods and fields | Implemented |
| SBT incremental build | Implemented |
| Option-less pattern matching | Implemented |
| Automatic tupling of function parameters | Implemented |
| Multiversal equality | Implemented |
| Implicit function types | Implemented |
| Erased Terms | In progress |
| Auto-Specialization | In progress |
| Whole program optimizer | In progress |
| HList & HMaps/Record types | In progress |
| Effects | Considered |
Talks on Dotty?
- Scala's Road Ahead by Martin Odersky (slides)
- Compilers are Databases by Martin Odersky (slides)
- Exploring the future of Scala by Dmitry Petrashko (slides)
- Deep Dive with Dotty
I have more questions!
That’s great! We have more details on the docs and please join our Gitter channel!