logo

Dotty

A next-generation compiler for Scala

(scroll down for more info)

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?

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

Talks on Dotty?

I have more questions!

That’s great! We have more details on the docs and please join our Gitter channel!