1
1
---
2
2
layout : blog-detail
3
3
post-type : blog
4
- by : the Scala Center team
4
+ by : Julien Richard-Foy and the Scala Center team
5
5
title : Scala Center Roadmap for 2023 and Beyond
6
6
description : Highlights of the achievements of the Scala Center in 2022, and roadmap for 2023.
7
7
---
@@ -43,15 +43,15 @@ In this section, we highlight our main achievements in 2022. You can find our co
43
43
### Language, Compiler, Standard Library
44
44
45
45
** We overhauled and restarted the [ Scala Improvement Process] ( https://docs.scala-lang.org/sips/ ) .** Since last
46
- summer, the diverse members of SIP Committee meet monthly to decide the evolution of the language. As we explained
46
+ summer, the SIP Committee members meet monthly to decide the evolution of the language. As we explained
47
47
in the [ announcement] ({% link blog/_ posts/2022-07-13-scala-improvement-process-reloaded.md %}), the main changes of
48
48
the new process are the following. First, the proposals are thoroughly discussed by a team of three reviewers, publicly
49
49
on [ GitHub] ( https://github.com/scala/improvement-proposals ) before the whole Committee votes on them during their
50
50
monthly meetings. Second, there is a new stage where proposals are accepted as experimental features before the Committee
51
51
votes again to promote them to stable features.
52
52
53
- ** We improved [ generic Mirror] ( https://docs.scala-lang.org/scala3/reference/contextual/derivation.html#mirror ) synthesis. **
54
- Mirrors are critical to metaprogramming in Scala 3, they enable implementation of type class derivation without
53
+ ** We improved meta-programming, especially [ generic Mirror] ( https://docs.scala-lang.org/scala3/reference/contextual/derivation.html#mirror )
54
+ synthesis. ** Mirrors are critical to metaprogramming in Scala 3, they enable implementation of type class derivation without
55
55
advanced metaprogramming techniques such as macros. Mirror synthesis now supports more cases
56
56
([ generic tuples] ( https://github.com/lampepfl/dotty/pull/15250 ) ,
57
57
[ local and inner classes] ( https://github.com/lampepfl/dotty/pull/15847 ) ), is more reliable
@@ -89,7 +89,9 @@ always show both Scala 2 and Scala 3 code examples when possible.
89
89
90
90
** We offered individualized support to our MOOCs’ learners.** We published the course “Effective Programming in Scala”
91
91
to the [ Extension School platform] ( https://www.extensionschool.ch/learn/effective-programming-in-scala ) . This
92
- platform allows the learners to have regular 1-on-1 meetings with our instructors along their learning journey. Learn
92
+ platform allows the learners to have regular 1-on-1 meetings with our instructors along their learning journey. If you
93
+ need to learn Scala, or if your company needs to train developers, the Extension School provides a cost-effective way
94
+ to be trained by the Scala Center team. Learn
93
95
more about the motivation in the previous [ announcement] ({% link blog/_ posts/2022-06-08-learn-scala-at-epfl-extension-school.md %}).
94
96
95
97
### Developer Experience
@@ -105,23 +107,24 @@ manual download of the release artifacts).
105
107
106
108
### Community and Contributor Experience
107
109
108
- ** We co-organized the [ ScalaCon] ( http ://www.scalacon.org/) online conference.** We were in charge of the program and
109
- the program committee.
110
+ ** We co-organized the [ ScalaCon] ( https ://www.scalacon.org/) online conference.** We were in charge of the program and
111
+ the program committee. The talk videos are available online [ here ] ( https://www.youtube.com/playlist?list=PL3t6y1EktOPhflaXB28Kw7kwRb30K0W-P ) .
110
112
111
113
** We published videos about Scala 3.** [ Let’s Talk About Scala 3] ( https://www.youtube.com/playlist?list=PLTx-VKTe8yLxYQfX_eGHCxaTuWvvG28Ml )
112
114
is a series of videos where we share interesting, useful, and cool things related to Scala 3. We published 4 new
113
115
videos in 2022.
114
116
115
117
** We improved the code editing experience in [ Scastie] ( https://scastie.scala-lang.org ) .** Scastie is the online Scala
116
118
code editor that is used every day by one thousand developers to share code snippets in the community. We have
117
- implemented “IDE features” such as autocompletion and showing type information under the mouse pointer.
119
+ implemented “IDE features” such as autocompletion and showing type information under the mouse pointer. Under the hood,
120
+ we reused some components of Metals.
118
121
119
- ** We mentored new contributors to the Scala 3 compiler.** Diving into the compiler is not an easy task. The Compiler
122
+ ** We mentored new contributors to the Scala 3 compiler.** The Compiler
120
123
Academy organizes online pair-programming events to mentor new contributors on the compiler codebase. You can learn
121
124
more about the Compiler Academy in [ this blog article] ({% link blog/_ posts/2022-11-02-compiler-academy.md %}).
122
125
123
126
** We implemented the building blocks of a new tool to detect incompatibilities between programs.** Guaranteeing the
124
- absence of incompatibilities between library dependencies is the cornerstone of a peaceful Scala ecosystem. We have
127
+ absence of incompatibilities between library dependencies is the cornerstone of a seamless Scala ecosystem. We have
125
128
implemented a prototype of a new tool to detect incompatibilities between two versions of a program (like
126
129
[ MiMa] ( https://github.com/lightbend/mima ) , but based on the TASTy representation of programs instead of JVM bytecode).
127
130
Our work is based on [ TASTy Query] ( https://github.com/scalacenter/tasty-query ) , which will be the basis of tools to
@@ -139,7 +142,7 @@ main organizations that are [behind Scala](https://www.scala-lang.org/community/
139
142
([ LAMP] ( https://lamp.epfl.ch ) , [ Lightbend] ( https://lightbend.com ) , and [ VirtusLab] ( https://virtuslab.com ) ). We are
140
143
grateful to all of them.
141
144
142
- In the following subsections we remind our ongoing and recurring projects, and we present our most important goals as
145
+ In the following subsections we remind you of our ongoing and recurring projects, and we present our most important goals as
143
146
well as some additional stretch goals that would need more resources.
144
147
145
148
The roadmap we present here is of course subject to adjustments throughout the year.
@@ -181,7 +184,7 @@ In addition to maintaining the Scala website and managing our online course lear
181
184
help the authors of those libraries to perform the usual maintenance tasks.
182
185
- ** Improve the content of the course
183
186
[ Effective Programming in Scala] ( https://docs.scala-lang.org/online-courses.html#effective-programming-in-scala ) .**
184
- We will address the feedback we received from the learners of the course to smoothen the learning curve.
187
+ We will address the feedback we received from the learners of the course to smooth the learning curve.
185
188
186
189
Our stretch goals include: update our [ Spark course] ( https://docs.scala-lang.org/online-courses.html#scala-specialization ) ,
187
190
teach Scala to first year Bachelor students at EPFL, and create a new Scala course for beginners (with no experience at
@@ -213,7 +216,7 @@ and provide TASTy trees to semantic rules in Scalafix.
213
216
214
217
### Community and Contributor Experience
215
218
216
- In addition to continuing co-organizing ScalaDays , participating to conferences, publishing positive content about
219
+ In addition to continuing co-organizing [ Scala Days ] ( https://scaladays.org/ ) , participating to conferences, publishing positive content about
217
220
Scala, leading the Compiler Academy, and maintaining tools for contributors ([ Scastie] ( https://scastie.scala-lang.org ) ,
218
221
[ Scaladex] ( https://index.scala-lang.org ) , [ scalafix] ( https://scalacenter.github.io/scalafix/ ) ), we will:
219
222
0 commit comments