A next-generation compiler for Scala
(scroll down for more info)
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.
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.
| Intersection Types | Implemented |
| Union Types | Implemented |
| Type lambdas | Implemented |
| Context query | Implemented |
| Trait parameters | Implemented |
| Implied Instances | Implemented |
| Inferable parameters | Implemented |
| Extension Methods | Implemented |
| Opaque Type Aliases | Implemented |
| Toplevel definitions | Implemented |
| Export clauses | Implemented |
| Vararg patterns | Implemented |
| Creator applications | Implemented |
| @static methods and fields | Implemented |
| SBT incremental build | Implemented |
| Option-less pattern matching | Implemented |
| Multiversal equality | Implemented |
| Erased Terms | Implemented |
| Auto-Specialization | In progress |
| Whole program optimizer | In progress |
| HList & HMaps/Record types | In progress |
| Effects | Considered |
| …and many more, check the overview page for a comprehensive list |
That’s great! We have more details on the docs and please join our Gitter channel!