1
1
---
2
2
layout : blog-page
3
- title : Announcing Dotty 0.13.0-RC1
3
+ title : Announcing Dotty 0.13.0-RC1 with Spark support and redesigned implicits
4
4
author : Aggelos Biboudis
5
5
authorImg : /images/aggelos.jpg
6
6
date : 2019-03-01
@@ -33,6 +33,27 @@ This is our 132th scheduled release according to our
33
33
34
34
# What’s new in the 0.13.0-RC1 technology preview?
35
35
36
+ ## Experimental support for Spark
37
+
38
+ Dotty projects have always been able to [ depend on Scala 2
39
+ libraries] ( https://github.com/lampepfl/dotty-example-project#getting-your-project-to-compile-with-dotty ) ,
40
+ and this usually works fine as long as the Dotty code does not call a Scala 2
41
+ macro directly. However, [ Spark] ( http://spark.apache.org/ ) was known to not work
42
+ correctly as it heavily relies on Java serialization which we were not fully
43
+ supporting.
44
+
45
+ Meanwhile, at EPFL, we've started updating our Scala courses to use Dotty
46
+ instead of Scala 2, the * Functional Programming* course given last semester went
47
+ smoothly, but the * Parallelism and Concurrency* course given in the
48
+ Spring semester teaches Spark, which means we needed to support it in Dotty!
49
+
50
+ Luckily, this turned out to be mostly straight-forward: we adopted the [ object
51
+ serialization scheme] ( https://github.com/lampepfl/dotty/pull/5775 ) and [ lambda
52
+ serialization scheme] ( https://github.com/lampepfl/dotty/pull/5837 ) pioneered by
53
+ Scala 2, and that was enough to make our Spark assignments run correctly! This
54
+ doesn't mean that our support is perfect however, so don't hesitate to [ open an
55
+ issue] ( http://github.com/lampepfl/dotty/issues ) if something is amiss.
56
+
36
57
## All things impl... implied
37
58
38
59
Scala's implicits are its most distinguished feature. They are _ the_ fundamental
@@ -260,16 +281,7 @@ at the documentation linked or at the relevant PR
260
281
please read our documentation page under the new section named [ * Contextual
261
282
Abstractions* ] ( https://dotty.epfl.ch/docs/ ) .**
262
283
263
- ## SemanticDB generator
264
-
265
- [ SemanticDB] ( https://github.com/scalameta/scalameta/tree/master/semanticdb ) is a
266
- data model for semantic information such as symbols and types about programs in
267
- Scala and other languages. SemanticDB decouples production and consumption of
268
- semantic information, establishing documented means for communication between
269
- tools. With PR [ #5761 ] ( https://github.com/lampepfl/dotty/pull/5761 ) we add the
270
- first prototype for the generation of SemanticDB information from TASTy.
271
-
272
- ## Change Implicit Resolution Rules
284
+ ## Implicit resolution rule changes
273
285
274
286
PR [ #5887 ] ( https://github.com/lampepfl/dotty/pull/5887 ) applies the following
275
287
changes to implicit resolution:
@@ -278,11 +290,14 @@ changes to implicit resolution:
278
290
2 . no more shadowing checks
279
291
3 . package prefixes are not considered.
280
292
281
- ## Add support for lambda serialization
293
+ ## SemanticDB generator
282
294
283
- PR [ #5837 ] ( https://github.com/lampepfl/dotty/pull/5837 ) added support for lambda
284
- serialization using well-known ` java.io.Serializable ` interface. This enables
285
- further progress on support Spark with Dotty.
295
+ [ SemanticDB] ( https://github.com/scalameta/scalameta/tree/master/semanticdb ) is a
296
+ data model for semantic information such as symbols and types about programs in
297
+ Scala and other languages. SemanticDB decouples production and consumption of
298
+ semantic information, establishing documented means for communication between
299
+ tools. With PR [ #5761 ] ( https://github.com/lampepfl/dotty/pull/5761 ) we add the
300
+ first prototype for the generation of SemanticDB information from TASTy.
286
301
287
302
## And much more!
288
303
@@ -404,4 +419,4 @@ to make sure that our regression suite includes your library.
404
419
[ @Blaisorblade ] : https://github.com/Blaisorblade
405
420
[ @Duhemm ] : https://github.com/Duhemm
406
421
[ @AleksanderBG ] : https://github.com/AleksanderBG
407
- [ @milessabin ] : https://github.com/milessabin
422
+ [ @milessabin ] : https://github.com/milessabin
0 commit comments