Skip to content

Commit d3e6f10

Browse files
committed
Draft Dotty 0.4.0-RC1 blog post
1 parent 9e900ca commit d3e6f10

File tree

1 file changed

+126
-0
lines changed

1 file changed

+126
-0
lines changed
Lines changed: 126 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,126 @@
1+
---
2+
layout: blog-page
3+
title: Announcing Dotty 0.4.0-RC1
4+
author: Allan Renucci
5+
authorImg: /images/allan.jpg
6+
date: 2017-10-02
7+
---
8+
9+
Today, we are excited to release Dotty version 0.4.0-RC1. This release
10+
serves as a technology preview that demonstrates new language features
11+
and the compiler supporting them.
12+
13+
If you’re not familiar with Dotty, it's a platform to try out new language concepts and compiler
14+
technologies for Scala. The focus is mainly on simplification. We remove extraneous syntax
15+
(e.g. no XML literals), and try to boil down Scala’s types into a smaller set of more fundamental
16+
constructors. The theory behind these constructors is researched in
17+
[DOT](https://infoscience.epfl.ch/record/215280), a calculus for dependent object types.
18+
You can learn more about Dotty on our [website](http://dotty.epfl.ch).
19+
20+
<!--more-->
21+
22+
This is our fourth scheduled release according to our [6-week release schedule](http://dotty.epfl.ch/docs/usage/version-numbers.html).
23+
The [previous technology preview](/blog/2017/09/07/third-dotty-milestone-release.html) improved
24+
stability and reliability.
25+
26+
## What’s in the 0.4.0-RC1 technology preview?
27+
This technology preview comes with a brand new REPL and now support Scala 2.12.
28+
29+
### [Native Dotty REPL](https://github.com/lampepfl/dotty/pull/2991)
30+
TODO @felixmudler
31+
32+
### [Scala 2.12](https://github.com/lampepfl/dotty/pull/2827)
33+
TODO @smarter
34+
35+
## How can you try it out?
36+
We ship with tools that help you try out the Dotty platform:
37+
38+
- [IDE features for Visual Studio Code](http://dotty.epfl.ch/docs/usage/ide-support.html)
39+
- [sbt support, including retro-compatibility with Scala 2](https://github.com/lampepfl/dotty-example-project)
40+
41+
You have several alternatives; use the `sbt-dotty` plugin, get a standalone
42+
installation, or try it online on [Scastie].
43+
44+
### sbt
45+
Using sbt 0.13.13 or newer, do:
46+
47+
```
48+
sbt new lampepfl/dotty.g8
49+
```
50+
51+
This will setup a new sbt project with Dotty as compiler. For more details on
52+
using Dotty with sbt, see the
53+
[example project](https://github.com/lampepfl/dotty-example-project).
54+
55+
### Standalone installation
56+
Releases are available for download on the _Releases_
57+
section of the Dotty repository:
58+
[https://github.com/lampepfl/dotty/releases](https://github.com/lampepfl/dotty/releases)
59+
60+
We also provide a [homebrew](https://brew.sh/) package that can be installed by running:
61+
62+
```
63+
brew install lampepfl/brew/dotty
64+
```
65+
66+
In case you have already installed Dotty via brew, you should instead update it:
67+
68+
```
69+
brew upgrade dotty
70+
```
71+
72+
### Scastie
73+
[Scastie], the online Scala playground, supports Dotty.
74+
You can try it out there without installing anything.
75+
76+
77+
## What are the next steps?
78+
Over the coming weeks and months, we plan to work on the following topics:
79+
80+
- [Add Language-level support for HMaps and HLists](https://github.com/lampepfl/dotty/pull/2199);
81+
- Upstream more optimizations from Dotty Linker
82+
83+
## Questions / Reporting Bugs
84+
If you have questions or any sort of feedback, feel free to send us a message on our
85+
[Gitter channel](https://gitter.im/lampepfl/dotty). If you encounter a bug, please
86+
[open an issue on GitHub](https://github.com/lampepfl/dotty/issues/new).
87+
88+
## Contributing
89+
Thank you to all the contributors who made this release possible!
90+
91+
According to `git shortlog -sn --no-merges 0.3.0-RC1..0.4.0-RC1` these are:
92+
93+
```
94+
TODO
95+
```
96+
97+
If you want to get your hands dirty with any of this, now is a good moment to get involved!
98+
You can have a look at our [Getting Started page](http://dotty.epfl.ch/docs/contributing/getting-started.html),
99+
our [Awesome Error Messages](http://scala-lang.org/blog/2016/10/14/dotty-errors.html) or some of
100+
the simple [Dotty issues](https://github.com/lampepfl/dotty/issues?q=is%3Aissue+is%3Aopen+label%3Aexp%3Anovice).
101+
They make perfect entry-points into hacking on the compiler.
102+
103+
We are looking forward to having you join the team of contributors.
104+
105+
## Library authors: Join our community build
106+
Dotty now has a set of libraries that are built against every nightly snapshot.
107+
Currently this includes scalatest, squants and algebra.
108+
Join our [community build](https://github.com/lampepfl/dotty-community-build)
109+
to make sure that our regression suite includes your library.
110+
111+
To get started, see [https://github.com/lampepfl/dotty](https://github.com/lampepfl/dotty).
112+
113+
114+
[Scastie]: https://scastie.scala-lang.org/?target=dotty
115+
116+
[@odersky]: https://github.com/odersky
117+
[@DarkDimius]: https://github.com/DarkDimius
118+
[@smarter]: https://github.com/smarter
119+
[@felixmulder]: https://github.com/felixmulder
120+
[@nicolasstucki]: https://github.com/nicolasstucki
121+
[@liufengyun]: https://github.com/liufengyun
122+
[@OlivierBlanvillain]: https://github.com/OlivierBlanvillain
123+
[@OlivierBlanvillain]: https://github.com/OlivierBlanvillain
124+
[@biboudis]: https://github.com/biboudis
125+
[@biboudis]: https://github.com/biboudis
126+
[@allanrenucci]: https://github.com/allanrenucci

0 commit comments

Comments
 (0)