Skip to content

Commit 53b6984

Browse files
Merge pull request #656 from scala/dotty-release
Announce release of Dotty 0.1.2-RC1
2 parents f490928 + 1b0b8ae commit 53b6984

File tree

1 file changed

+122
-0
lines changed

1 file changed

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

0 commit comments

Comments
 (0)