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