Skip to content

Commit 0777eb1

Browse files
committed
Announce release of Dotty 0.1.2-RC1
1 parent f490928 commit 0777eb1

File tree

1 file changed

+123
-0
lines changed

1 file changed

+123
-0
lines changed
Lines changed: 123 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,123 @@
1+
---
2+
layout: blog
3+
post-type: blog
4+
title: Announcing Dotty 0.1.2-RC1, a major step towards Scala 3
5+
author: Dmytro Petrashko
6+
by: Dmytro Petrashko
7+
authorImg: /images/petrashko.jpg
8+
---
9+
Today, we excited to release Dotty version 0.1.2-RC1. This release
10+
serves as a technology preview that demonstrates new language features
11+
and the compiler supporting them.
12+
13+
14+
<!--more-->
15+
16+
## Why is this important?
17+
18+
_Dotty_ is the project name for a language and compiler that
19+
is slated to become Scala 3.0. This is an ongoing development,
20+
developed transparently as open source software. The Dotty project
21+
started more than 4 years ago. It reached a major milestone in 2015 by
22+
achieving
23+
[bootstrap](http://dotty.epfl.ch/blog/2015/10/23/dotty-compiler-bootstraps.html),
24+
that is, showing that the new compiler could compile itself. Today we
25+
have reached another milestone with this first release of the
26+
codebase. Developments will not stop here, but they will in the future
27+
all be part of regular time-based releases.
28+
29+
## How can you try it out?
30+
31+
You have several alternatives: use the `sbt-dotty` plugin, get a standalone
32+
installation, or try it online on [Scastie](https://scastie.scala-lang.org/).
33+
34+
### sbt
35+
Using sbt 0.13.13 or newer, do:
36+
37+
```
38+
sbt new lampepfl/dotty.g8
39+
```
40+
41+
This will setup a new sbt project with Dotty as compiler. For more details on
42+
using Dotty with sbt, see the
43+
[example project](https://github.com/lampepfl/dotty-example-project).
44+
45+
### Standalone installation
46+
47+
Releases are available for download on the _Releases_
48+
section of the Dotty repository: https://github.com/lampepfl/dotty/releases.
49+
50+
We also provide a [homebrew](https://brew.sh/) package that can be installed by running
51+
52+
```
53+
brew install lampepfl/brew/dotty
54+
```
55+
56+
### Scastie
57+
58+
[Scastie](https://scastie.scala-lang.org/), the online Scala playground,
59+
supports Dotty. To try it out:
60+
1. Click on `Build Settings` in the menu on the left
61+
2. Under `Target`, click on `Dotty`
62+
3. That's it!
63+
64+
65+
# What’s in the 0.1.2-RC1 technology preview ?
66+
This technology preview demonstrates new language features planned for Scala 3:
67+
68+
- [Intersection Types](http://dotty.epfl.ch/docs/reference/intersection-types.html)
69+
- [Union Types](http://dotty.epfl.ch/docs/reference/union-types.html)
70+
- [Trait Parameters](http://dotty.epfl.ch/docs/reference/trait-parameters.html)
71+
- [Enumerations](http://dotty.epfl.ch/docs/reference/enums.html)
72+
- [Algebraic Data Types](http://dotty.epfl.ch/docs/reference/adts.html)
73+
- [By-Name Implicits](http://dotty.epfl.ch/docs/reference/implicit-by-name-parameters.html)
74+
75+
We also ship with tools that help you try out the Dotty platform:
76+
77+
- [IDE features for Visual Studio Code](http://dotty.epfl.ch/docs/usage/ide-support.html)
78+
- [sbt support, including retro-compatibility with Scala 2](https://github.com/lampepfl/dotty-example-project)
79+
80+
See here for the full [release notes](http://dotty.epfl.ch/docs/release-notes/0.1.2.html).
81+
82+
## Release schedule
83+
84+
We are adopting a time-based release schedule:
85+
- Nightly builds will be published, for those wanting to be at the forefront of
86+
development.
87+
- Every 6 weeks, a release candidate will be cut based on the last nightly build,
88+
the release candidates let library authors test their code in advance of each
89+
release. Multiple release candidates may be released during each 6 weeks
90+
period to fix regressions.
91+
- Every 6 weeks, the last release candidate becomes a release.
92+
93+
At the end of 6 weeks, the milestone will be promoted to a stable release.
94+
See here for the full [version number explanation](http://dotty.epfl.ch/docs/usage/version-numbers.html).
95+
96+
## What are the next steps?
97+
98+
Over the coming weeks and months, we plan to work on the following topics:
99+
100+
- [Integrate Local optimizations developed in Dotty linker](https://github.com/lampepfl/dotty/pull/2513);
101+
- [Add Language-level support for HMaps and HLists](https://github.com/lampepfl/dotty/pull/2199);
102+
- [Port global optimizations from Dotty linker](https://github.com/lampepfl/dotty/pull/1840).
103+
104+
If you want to get your hands dirty with any of this, now is a good
105+
moment to get involved! Join the team of contributors, including
106+
Martin Odersky ([@odersky](https://twitter.com/odersky))
107+
Dmitry Petrashko ([@DarkDimius](https://twitter.com/DarkDimius)),
108+
Guillaume Martres ([@smarter](https://github.com/smarter)),
109+
Felix Mulder ([@felixmulder](https://twitter.com/felixmulder)),
110+
Nicolas Stucki ([@stucki_nicolas](https://twitter.com/stucki_nicolas)),
111+
Liu Fengyun ([@liufengyun](https://github.com/liufengyun)),
112+
Olivier Blanvillain ([@OlivierBlanvillain](https://github.com/OlivierBlanvillain)),
113+
and others!
114+
115+
## Library authors: Join our community build
116+
117+
Dotty now has a set of libraries that are build against every nightly snapshot.
118+
Currently this includes scalatest, squants and algebra.
119+
Join our [community build](https://github.com/lampepfl/dotty-community-build)
120+
to make sure that our regression suite includes your library.
121+
122+
123+
To get started, see <https://github.com/lampepfl/dotty>.

0 commit comments

Comments
 (0)