Skip to content

Commit 2fd6d63

Browse files
committed
Blog post on Scala 3
1 parent 719d6d0 commit 2fd6d63

File tree

1 file changed

+48
-0
lines changed

1 file changed

+48
-0
lines changed

blog/_posts/2018-04-11-scala-3.md

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
---
2+
layout: blog-page
3+
title: From Dotty to Scala 3
4+
author: Martin Odersky
5+
authorImg: /images/martin.jpg
6+
date: 2018-04-011
7+
---
8+
9+
Now that Scala 2.13 is around the corner, it's time to consider the
10+
roadmap beyond it. It's been no secret that the work on Dotty that my
11+
group at EPFL over the last 5 1/2 years was intended to explore what a
12+
new Scala could look like. We are thankful for the help we got doing this
13+
from Lightbend, Scala Center, and outside contributors. We are now at
14+
a stage where we can commit: Dotty will become Scala 3.0. Here are
15+
some answers to further questions you might have:
16+
17+
_When will it come out?_
18+
19+
Probably shortly after Scala 2.14. At the current release schedule, that means towards the end of 2019, or possibly early 2020.
20+
21+
_What is Scala 2.14 for?_
22+
23+
Scala 2.14's main focus will be on smoothing the migration to Scala 3. It will do this by defining migration tools, shim libraries, and targeted deprecations, among others.
24+
25+
_What's new in Scala 3?_
26+
27+
The currently implemented language changes are listed in the [Reference section on the Dotty website](http://dotty.epfl.ch/docs/).
28+
29+
_What further changes are expected?_
30+
31+
You can follow the current status on the issue tracker and pull requests of the [dotty](https://github.com/lampepfl/dotty) project on GitHub. Around the corner are opaque types ([SIP 35](https://docs.scala-lang.org/sips/opaque-types.html)), which are ready to be [merged](https://github.com/lampepfl/dotty/pull/4028). We are working on replacing implicit classes with a more natural and intuitive [extension mechanism](https://github.com/lampepfl/dotty/pull/4114). We also expect some important additions in the areas of meta programming, generic programming, and, possibly, effect typing.
32+
33+
_What's the next big step_?
34+
35+
For the moment, we are still held back by the requirement to cross-compile. To build the `dotc` compiler, we first run it through `scalac` and then let it compile itself. Hence, we cannot use yet any Scala 3 constructs in the `dotc` codebase itself. This situation will change once we bootstrap from a stable Dotty version. Besides letting us "eat our own dog food" this will also make it easier to merge some additions such as support for generic tuples ("HLists").
36+
37+
_When can I try it out_?
38+
39+
You can start working with Dotty now. See the [getting started guide](http://dotty.epfl.ch/#getting-started). Dotty releases are published every 6 weeks. We expect to have developer previews for Scala 3.0 in the first half of 2019.
40+
41+
_What about macros_?
42+
43+
Stay tuned! We are about to release another blog post specifically about that issue.
44+
45+
_How can I help_?
46+
47+
Scala 3 is developed completely in the open at [https://github.com/lampepfl/dotty]. Get involved there by fixing and opening issues, making pull requests, and participating in the discussions.
48+

0 commit comments

Comments
 (0)