1
1
---
2
2
layout : blog-page
3
- title : Announcing Dotty 0.16.0-RC1 – the Scala Days 2019 Release
4
- author : Aggelos Biboudis
3
+ title : Announcing Dotty 0.16.0-RC3 – the Scala Days 2019 Release
4
+ author : Aggelos Biboudis and Anatolii Kmetiuk
5
5
authorImg : /images/aggelos.png
6
6
date : 2019-06-11
7
7
---
@@ -10,7 +10,7 @@ Hello again! Today, we are excited to announce the 16th release of Dotty. The
10
10
development of Dotty continues according to our schedule but today, Tuesday June
11
11
the 11th, we are electrified as it is the first day of [ Scala Days 2019] ( https://scaladays.org/ )
12
12
which marks the * 10th* anniversary of Scala Days.
13
- With this release we are getting closer to the _ envelop _ of the new features
13
+ With this release we are getting closer to the _ envelope _ of the new features
14
14
that Dotty plans to offer.
15
15
16
16
![ ] ({{ site.baseurl }}/images/others/scala-days-logo.png "Scala Days 2019")
@@ -37,7 +37,7 @@ You can learn more about Dotty on our [website](https://dotty.epfl.ch).
37
37
This is our 16th scheduled release according to our
38
38
[ 6-week release schedule] ( https://dotty.epfl.ch/docs/contributing/release.html ) .
39
39
40
- # What’s new in the 0.16.0-RC1 technology preview?
40
+ # What’s new in the 0.16.0-RC3 technology preview?
41
41
42
42
<!-- https://github.com/lampepfl/dotty/pulls?q=is%3Apr+closed%3A%3E2019-05-23+is%3Aclosed+sort%3Acomments-desc -->
43
43
@@ -172,6 +172,26 @@ import delegate Instances.{for Ordering[_], ExecutionContext}
172
172
would import the `intOrd` , `listOrd` , and `ec` instances but leave out the `im`
173
173
instance, since it fits none of the specified bounds.
174
174
175
+ ## New typeclass derivation scheme
176
+
177
+ Summary of measured differences with the old scheme :
178
+
179
+ - About 100 lines more compiler code - the rest of the lines changed diff is
180
+ tests.
181
+ - About 13 - 15 % more code generated for typeclass instances
182
+ - About 3 - 4 % slower to compile typeclass instances
183
+
184
+ Advantages of new scheme :
185
+
186
+ - Fewer allocations, since mirrors (`Generic` has been renamed to `Mirror`) are
187
+ usually shared instead of being allocated at runtime.
188
+ - It works well even if there are no derives clauses. The old scheme would
189
+ generate more code in that case .
190
+ - Complete decoupling between derives clauses and mirror generation.
191
+
192
+ For the technical details of these changes please consule the corresponding PR
193
+ [# 6531 ](https:// github.com/ lampepfl/ dotty/ pull/ 6531 ).
194
+
175
195
# Let us know what you think!
176
196
177
197
If you have questions or any sort of feedback, feel free to send us a message on our
@@ -182,10 +202,23 @@ If you have questions or any sort of feedback, feel free to send us a message on
182
202
183
203
Thank you to all the contributors who made this release possible!
184
204
185
- According to `git shortlog -sn --no-merges 0.15.0-RC1..0.16.0-RC1 ` these are :
205
+ According to `git shortlog -sn --no-merges 0.15.0-RC1..0.16.0-RC3 ` these are :
186
206
187
207
```
188
-
208
+ 88 Martin Odersky
209
+ 51 Anatolii
210
+ 48 Nicolas Stucki
211
+ 26 Guillaume Martres
212
+ 21 Miles Sabin
213
+ 19 Liu Fengyun
214
+ 12 Aleksander Boruch - Gruszecki
215
+ 11 S ébastien Doeraene
216
+ 8 Aggelos Biboudis
217
+ 4 Olivier Blanvillain
218
+ 3 Eugene Yokota
219
+ 1 Dale Wijnand
220
+ 1 Allan Renucci
221
+ 1 Olivier ROLAND
189
222
```
190
223
191
224
If you want to get your hands dirty and contribute to Dotty , now is a good time to get involved!
0 commit comments