Skip to content

Commit c540de0

Browse files
committed
wip
1 parent 87de2d9 commit c540de0

File tree

2 files changed

+120
-0
lines changed

2 files changed

+120
-0
lines changed
Lines changed: 120 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,120 @@
1+
---
2+
layout: blog-page
3+
title: Announcing Dotty 0.16.0-RC1 – the Scala Days 2019 release
4+
author: Aggelos Biboudis
5+
authorImg: /images/aggelos.png
6+
date: 2019-06-11
7+
---
8+
9+
Hello again! Today, we are super excited to announce the 16th release of Dotty.
10+
The development of Dotty continues according to our schedule but today, Tuesday
11+
June the 11th, we are extra excited as it is the first day of [Scala Days 2019](https://scaladays.org/)
12+
which marks the 10th anniversary of Scala Days. With this release we bring
13+
improvements and a few new features getting closer to the envelop of the new
14+
features that Dotty plans to offer.
15+
16+
![]({{ site.baseurl }}/images/others/scala-days-logo.png "Scala Days 2019")
17+
18+
This release serves as a technology preview that demonstrates new
19+
language features and the compiler supporting them.
20+
21+
Dotty is the project name for technologies that are being considered for
22+
inclusion in Scala 3. Scala has pioneered the fusion of object-oriented and
23+
functional programming in a typed setting. Scala 3 will be a big step towards
24+
realising the full potential of these ideas. Its main objectives are to
25+
26+
- become more opinionated by promoting programming idioms we found to work well,
27+
- simplify where possible,
28+
- eliminate inconsistencies and surprising behaviours,
29+
- build on strong foundations to ensure the design hangs together well,
30+
- consolidate language constructs to improve the language’s consistency, safety, ergonomics, and
31+
performance.
32+
33+
You can learn more about Dotty on our [website](https://dotty.epfl.ch).
34+
35+
<!--more-->
36+
37+
This is our 16th scheduled release according to our
38+
[6-week release schedule](https://dotty.epfl.ch/docs/contributing/release.html).
39+
40+
# What’s new in the 0.16.0-RC1 technology preview?
41+
42+
<!-- https://github.com/lampepfl/dotty/pulls?q=is%3Apr+closed%3A%3E2019-05-23+is%3Aclosed+sort%3Acomments-desc -->
43+
44+
## Polymorphic function types
45+
46+
We add support for _polymorphic function types_. Nowadays if we want to write a
47+
universally quantified function over elements of lists of type `T` we write
48+
e.g., `List[T] => List[(T, T)]`.
49+
50+
```scala
51+
[T <: AnyVal] => List[T] => List[(T, T)]
52+
```
53+
54+
## Other changes
55+
Some of the other notable changes include the following:
56+
57+
- Singletons are now allowed in union types. E.g. the following is allowed: `object foo; type X = Int | foo.type`.
58+
- A bunch of improvements was made for the type inference system – see, e.g., PRs [#6454](https://github.com/lampepfl/dotty/pull/6454) and [#6467](https://github.com/lampepfl/dotty/pull/6467).
59+
- Improvements to the Scala 2 code support which, in particular, improves Cats support – see PRs [#6494](https://github.com/lampepfl/dotty/pull/6494) and [#6498](https://github.com/lampepfl/dotty/pull/6498).
60+
61+
# Let us know what you think!
62+
63+
If you have questions or any sort of feedback, feel free to send us a message on our
64+
[Gitter channel](https://gitter.im/lampepfl/dotty). If you encounter a bug, please
65+
[open an issue on GitHub](https://github.com/lampepfl/dotty/issues/new).
66+
67+
## Contributing
68+
69+
Thank you to all the contributors who made this release possible!
70+
71+
According to `git shortlog -sn --no-merges 0.14.0-RC1..0.15.0-RC1` these are:
72+
73+
```
74+
191 Martin Odersky
75+
112 Nicolas Stucki
76+
29 Guillaume Martres
77+
25 Olivier Blanvillain
78+
21 Aleksander Boruch-Gruszecki
79+
17 Anatolii Kmetiuk
80+
10 Miles Sabin
81+
9 Liu Fengyun
82+
8 Aggelos Biboudis
83+
8 Jentsch
84+
5 Sébastien Doeraene
85+
2 Anatolii
86+
1 Fengyun Liu
87+
1 Olivier ROLAND
88+
1 phderome
89+
```
90+
91+
If you want to get your hands dirty and contribute to Dotty, now is a good time to get involved!
92+
Head to our [Getting Started page for new contributors](https://dotty.epfl.ch/docs/contributing/getting-started.html),
93+
and have a look at some of the [good first issues](https://github.com/lampepfl/dotty/issues?q=is%3Aissue+is%3Aopen+label%3Aexp%3Anovice).
94+
They make perfect entry points into hacking on the compiler.
95+
96+
We are looking forward to having you join the team of contributors.
97+
98+
## Library authors: Join our community build
99+
100+
Dotty now has a set of widely-used community libraries that are built against every nightly Dotty
101+
snapshot. Currently this includes ScalaPB, algebra, scalatest, scopt and squants.
102+
Join our [community build](https://github.com/lampepfl/dotty-community-build)
103+
to make sure that our regression suite includes your library.
104+
105+
[Scastie]: https://scastie.scala-lang.org/?target=dotty
106+
107+
[@odersky]: https://github.com/odersky
108+
[@DarkDimius]: https://github.com/DarkDimius
109+
[@smarter]: https://github.com/smarter
110+
[@felixmulder]: https://github.com/felixmulder
111+
[@nicolasstucki]: https://github.com/nicolasstucki
112+
[@liufengyun]: https://github.com/liufengyun
113+
[@OlivierBlanvillain]: https://github.com/OlivierBlanvillain
114+
[@biboudis]: https://github.com/biboudis
115+
[@allanrenucci]: https://github.com/allanrenucci
116+
[@Blaisorblade]: https://github.com/Blaisorblade
117+
[@Duhemm]: https://github.com/Duhemm
118+
[@AleksanderBG]: https://github.com/AleksanderBG
119+
[@milessabin]: https://github.com/milessabin
120+
[@anatoliykmetyuk]: https://github.com/anatoliykmetyuk
340 KB
Loading

0 commit comments

Comments
 (0)