Skip to content

Commit 0660551

Browse files
committed
More details on the Spark support
1 parent 0266ad0 commit 0660551

File tree

1 file changed

+31
-16
lines changed

1 file changed

+31
-16
lines changed

docs/blog/_posts/2019-03-01-13th-dotty-milestone-release.md

Lines changed: 31 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
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
44
author: Aggelos Biboudis
55
authorImg: /images/aggelos.jpg
66
date: 2019-03-01
@@ -33,6 +33,27 @@ This is our 132th scheduled release according to our
3333

3434
# What’s new in the 0.13.0-RC1 technology preview?
3535

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+
3657
## All things impl... implied
3758

3859
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
260281
please read our documentation page under the new section named [*Contextual
261282
Abstractions*](https://dotty.epfl.ch/docs/).**
262283

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
273285

274286
PR [#5887](https://github.com/lampepfl/dotty/pull/5887) applies the following
275287
changes to implicit resolution:
@@ -278,11 +290,14 @@ changes to implicit resolution:
278290
2. no more shadowing checks
279291
3. package prefixes are not considered.
280292

281-
## Add support for lambda serialization
293+
## SemanticDB generator
282294

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.
286301

287302
## And much more!
288303

@@ -404,4 +419,4 @@ to make sure that our regression suite includes your library.
404419
[@Blaisorblade]: https://github.com/Blaisorblade
405420
[@Duhemm]: https://github.com/Duhemm
406421
[@AleksanderBG]: https://github.com/AleksanderBG
407-
[@milessabin]: https://github.com/milessabin
422+
[@milessabin]: https://github.com/milessabin

0 commit comments

Comments
 (0)