You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: scala3doc/dotty-docs/docs/docs/contributing/contribute-knowledge.md
+1-1
Original file line number
Diff line number
Diff line change
@@ -9,4 +9,4 @@ If you know anything useful at all about Dotty, feel free to log this knowledge:
9
9
-[📜Log the Knowledge](https://github.com/lampepfl/dotty-knowledge/issues/new)
10
10
-[🎓More about Logging the Knowledge](https://github.com/lampepfl/dotty-knowledge/blob/master/README.md)
11
11
12
-
In short, no need to make it pretty, particularly human-readable or give it a particular structure. Just dump the knowledge you have and we'll take it from there.
12
+
In short, no need to make it pretty, particularly human-readable or give it a particular structure. Just dump the knowledge you have and we'll take it from there.
Copy file name to clipboardExpand all lines: scala3doc/dotty-docs/docs/docs/reference/dropped-features/macros.md
+1-1
Original file line number
Diff line number
Diff line change
@@ -3,7 +3,7 @@ layout: doc-page
3
3
title: Dropped: Scala 2 Macros
4
4
---
5
5
6
-
The previous, experimental macro system has been dropped. Instead, there is a cleaner, more restricted system based on two complementary concepts: `inline` and `'{ ... }`/`${ ... }` code generation.
6
+
The previous, experimental macro system has been dropped. Instead, there is a cleaner, more restricted system based on two complementary concepts: `inline` and `'{ ... }`/`${ ... }` code generation.
7
7
`'{ ... }` delays the compilation of the code and produces an object containing the code, dually `${ ... }` evaluates an expression which produces code and inserts it in the surrounding `${ ... }`.
8
8
In this setting, a definition marked as inlined containing a `${ ... }` is a macro, the code inside the `${ ... }` is executed at compile-time and produces code in the form of `'{ ... }`.
9
9
Additionally, the contents of code can be inspected and created with a more complex reflection API (TASTy Reflect) as an extension of `'{ ... }`/`${ ... }` framework.
Copy file name to clipboardExpand all lines: scala3doc/dotty-docs/docs/docs/reference/features-classification.md
+1-1
Original file line number
Diff line number
Diff line change
@@ -199,4 +199,4 @@ Some existing programs will break and, given the complex nature of type inferenc
199
199
200
200
In our experience, macros and changes in type and implicit argument inference together cause the large majority of problems encountered when porting existing code to Scala 3. The latter source of problems could be addressed systematically by a tool that added all inferred types and implicit arguments to a Scala 2 source code file. Most likely such a tool would be implemented as a Scala 2 compiler plugin. The resulting code would have a greatly increased likelihood to compile under Scala 3, but would often be bulky to the point of being unreadable. A second part of the rewriting tool should then selectively and iteratively remove type and implicit annotations that were synthesized by the first part as long as they compile under Scala 3. This second part could be implemented as a program that invokes the Scala 3 compiler `dotc` programmatically.
201
201
202
-
Several people have proposed such a tool for some time now. I believe it is time we find the will and the resources to actually implement it.
202
+
Several people have proposed such a tool for some time now. I believe it is time we find the will and the resources to actually implement it.
Copy file name to clipboardExpand all lines: scala3doc/dotty-docs/docs/docs/reference/soft-modifier.md
+3-3
Original file line number
Diff line number
Diff line change
@@ -4,9 +4,9 @@ title: Soft Modifiers
4
4
---
5
5
6
6
A soft modifier is one of the identifiers `opaque` and `inline`.
7
-
<!--
8
-
TODO this is most likely outdated should at least contain `extension` in addition.
9
-
Worth maintaining? or maybe better refer to internal/syntax.md ?
7
+
<!--
8
+
TODO this is most likely outdated should at least contain `extension` in addition.
9
+
Worth maintaining? or maybe better refer to internal/syntax.md ?
10
10
-->
11
11
12
12
It is treated as a potential modifier of a definition, if it is followed by a hard modifier or a keyword combination starting a definition (`def`, `val`, `var`, `type`, `class`, `case class`, `trait`, `object`, `case object`, `enum`). Between the two words there may be a sequence of newline tokens and soft modifiers.
Copy file name to clipboardExpand all lines: scala3doc/dotty-docs/docs/docs/resources/talks.md
+17-17
Original file line number
Diff line number
Diff line change
@@ -11,10 +11,10 @@ Talks on Dotty
11
11
12
12
- (JVMLS 2015) [Compilers are Databases](https://www.youtube.com/watch?v=WxyyJyB_Ssc) by [Martin Odersky](http://twitter.com/odersky)[\[slides\]](http://www.slideshare.net/Odersky/compilers-are-databases)
13
13
14
-
- (Scala World 2015) [Dotty: Exploring the future of Scala](https://www.youtube.com/watch?v=aftdOFuVU1o) by [Dmitry Petrashko](http://twitter.com/darkdimius)[\[slides\]](https://d-d.me/scalaworld2015/#/).
15
-
Dmitry covers many of the new features that Dotty brings on the table such as Intersection and Union types, improved lazy val initialization and more.
16
-
Dmitry also covers dotty internals and in particular the high-level of contextual abstractions of Dotty. You will get to
17
-
become familiar with many core concepts such as `Denotations`, their evolution through (compilation) time, their
14
+
- (Scala World 2015) [Dotty: Exploring the future of Scala](https://www.youtube.com/watch?v=aftdOFuVU1o) by [Dmitry Petrashko](http://twitter.com/darkdimius)[\[slides\]](https://d-d.me/scalaworld2015/#/).
15
+
Dmitry covers many of the new features that Dotty brings on the table such as Intersection and Union types, improved lazy val initialization and more.
16
+
Dmitry also covers dotty internals and in particular the high-level of contextual abstractions of Dotty. You will get to
17
+
become familiar with many core concepts such as `Denotations`, their evolution through (compilation) time, their
18
18
transformations and more.
19
19
20
20
Deep Dive with Dotty
@@ -23,7 +23,7 @@ Deep Dive with Dotty
23
23
24
24
- (ScalaDays 2019, Lausanne) [Future-proofing Scala: the TASTY intermediate representation](https://www.youtube.com/watch?v=zQFjC3zLYwo) by [Guillaume Martres](http://guillaume.martres.me/).
25
25
26
-
- (Mar 21, 2017) [Dotty Internals 1: Trees & Symbols](https://www.youtube.com/watch?v=yYd-zuDd3S8) by [Dmitry Petrashko](http://twitter.com/darkdimius)[\[meeting notes\]](../internals/dotty-internals-1-notes.md).
26
+
- (Mar 21, 2017) [Dotty Internals 1: Trees & Symbols](https://www.youtube.com/watch?v=yYd-zuDd3S8) by [Dmitry Petrashko](http://twitter.com/darkdimius)[\[meeting notes\]](../internals/dotty-internals-1-notes.md).
27
27
This is a recorded meeting between EPFL and Waterloo, where we introduce first notions inside Dotty: Trees and Symbols.
28
28
29
29
- (Mar 21, 2017) [Dotty Internals 2: Types](https://www.youtube.com/watch?v=3gmLIYlGbKc) by [Martin Odersky](http://twitter.com/odersky) and [Dmitry Petrashko](http://twitter.com/darkdimius).
@@ -36,26 +36,26 @@ This is a recorded meeting between EPFL and Waterloo, where we introduce denotat
36
36
[Dmitry Petrashko](http://twitter.com/darkdimius) gives a high-level introduction on what was done to make Dotty .
37
37
38
38
39
-
- (Typelevel Summit Oslo, May 2016) [Dotty and types: the story so far](https://www.youtube.com/watch?v=YIQjfCKDR5A) by
39
+
- (Typelevel Summit Oslo, May 2016) [Dotty and types: the story so far](https://www.youtube.com/watch?v=YIQjfCKDR5A) by
Guillaume focused on some of the practical improvements to the type system that Dotty makes, like the new type parameter
41
+
Guillaume focused on some of the practical improvements to the type system that Dotty makes, like the new type parameter
42
42
inference algorithm that is able to reason about the type safety of more situations than scalac.
43
43
44
-
- (flatMap(Oslo) 2016) [AutoSpecialization in Dotty](https://vimeo.com/165928176) by [Dmitry Petrashko](http://twitter.com/darkdimius)[\[slides\]](https://d-d.me/talks/flatmap2016/#/).
45
-
The Dotty Linker analyses your program and its dependencies to
46
-
apply a new specialization scheme. It builds on our experience from Specialization, Miniboxing and the Valhalla Project,
47
-
and drastically reduces the size of the emitted bytecode. And, best of all, it's always enabled, happens behind the
44
+
- (flatMap(Oslo) 2016) [AutoSpecialization in Dotty](https://vimeo.com/165928176) by [Dmitry Petrashko](http://twitter.com/darkdimius)[\[slides\]](https://d-d.me/talks/flatmap2016/#/).
45
+
The Dotty Linker analyses your program and its dependencies to
46
+
apply a new specialization scheme. It builds on our experience from Specialization, Miniboxing and the Valhalla Project,
47
+
and drastically reduces the size of the emitted bytecode. And, best of all, it's always enabled, happens behind the
48
48
scenes without annotations, and results in speedups in excess of 20x. Additionally, it "just works" on Scala collections.
49
49
50
50
- (ScalaSphere 2016) [Hacking on Dotty: A live demo](https://www.youtube.com/watch?v=0OOYGeZLHs4) by Guillaume Martres [\[slides\]](http://guillaume.martres.me/talks/dotty-live-demo/).
51
-
Guillaume hacks on Dotty: a live demo during which he
51
+
Guillaume hacks on Dotty: a live demo during which he
52
52
creates a simple compiler phase to trace method calls at run-time.
53
53
54
-
- (Scala By the Bay 2016) [Dotty: what is it and how it works](https://www.youtube.com/watch?v=wCFbYu7xEJA) by Guillaume
55
-
Martres [\[slides\]](http://guillaume.martres.me/talks/dotty-tutorial/#/). Guillaume provides a high-level view of the
54
+
- (Scala By the Bay 2016) [Dotty: what is it and how it works](https://www.youtube.com/watch?v=wCFbYu7xEJA) by Guillaume
55
+
Martres [\[slides\]](http://guillaume.martres.me/talks/dotty-tutorial/#/). Guillaume provides a high-level view of the
56
56
compilation-pipeline of Dotty.
57
57
58
-
- (ScalaDays 2015, Amsterdam) [Making your Scala applications smaller and faster with the Dotty linker](https://www.youtube.com/watch?v=xCeI1ArdXM4) by Dmitry Petrashko [\[slides\]](https://d-d.me/scaladays2015/#/).
59
-
Dmitry introduces the call-graph analysis algorithm
60
-
that Dotty implements and the performance benefits we can get in terms of number of methods, bytecode size, JVM code size
58
+
- (ScalaDays 2015, Amsterdam) [Making your Scala applications smaller and faster with the Dotty linker](https://www.youtube.com/watch?v=xCeI1ArdXM4) by Dmitry Petrashko [\[slides\]](https://d-d.me/scaladays2015/#/).
59
+
Dmitry introduces the call-graph analysis algorithm
60
+
that Dotty implements and the performance benefits we can get in terms of number of methods, bytecode size, JVM code size
0 commit comments