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!