Skip to content

Commit 3f69a2d

Browse files
authored
Merge pull request #283 from scala/2023-Q1-reports
Add activity report for Q1 2023 and roadmap for Q2.
2 parents 34715fc + 283ae9a commit 3f69a2d

File tree

9 files changed

+901
-175
lines changed

9 files changed

+901
-175
lines changed

.github/workflows/ci.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,4 +34,5 @@ jobs:
3434
--ignore-empty-alt=true\
3535
--allow-hash-href=true\
3636
--enforce-https=false\
37-
--ignore-missing-alt=true
37+
--ignore-missing-alt=true\
38+
--swap-urls "https\:\/\/scala\.epfl\.ch:"

Gemfile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,4 @@ gem 'webrick'
44
#
55
gem 'html-proofer'
66
# gem 'html-proofer' # link-checking: bundle exec htmlproofer ./_site/ --only-4xx --ignore-empty-alt=true --allow-hash-href=true
7+
gem 'jekyll-redirect-from'

Gemfile.lock

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -268,6 +268,7 @@ PLATFORMS
268268
DEPENDENCIES
269269
github-pages
270270
html-proofer
271+
jekyll-redirect-from
271272
webrick
272273

273274
BUNDLED WITH

_config.yml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ description: > # this means to ignore newlines until "baseurl:"
55
The Scala Center at EPFL. Not-for-profit, "for the good of all"
66
steward of Scala.
77
baseurl: "" # the subpath of your site, e.g. /blog
8-
url: "http://scala.epfl.ch" # the base hostname & protocol for your site
8+
url: "https://scala.epfl.ch" # the base hostname & protocol for your site
99
twitter_username: scala_lang
1010
github_username: scala
1111

@@ -24,3 +24,6 @@ markdown: kramdown
2424
exclude: ["node_modules", "gulpfile.js", "package.json", "vendor"]
2525
sass:
2626
sass_dir: resources/css/sass
27+
28+
plugins:
29+
- jekyll-redirect-from

projects.md

Lines changed: 1 addition & 173 deletions
Original file line numberDiff line numberDiff line change
@@ -1,175 +1,3 @@
11
---
2-
layout: contact
2+
redirect_to: /records/2023-Q2-roadmap.html
33
---
4-
5-
This page lists the projects that the Scala Center will work on during
6-
the current quarter. We also post regular updates about our projects on the
7-
[Scala Contributors forum](https://contributors.scala-lang.org/c/scala-center/25).
8-
9-
To have more information about our _completed_ projects, please see the
10-
[quarterly activity reports](./records.html).
11-
12-
## Roadmap for 2023 Q1
13-
{: .no_toc}
14-
15-
The following sections present our plan for the current quarter. Every
16-
project description is followed by the concrete results we will deliver, and
17-
their expected outcome on the Scala community.
18-
19-
* Table of Contents
20-
{:toc}
21-
22-
### Make Scala tooling seamless for newcomers, and provide robust foundations for the Scala ecosystem
23-
24-
#### Polish sbt and Coursier
25-
26-
Most of the Scala projects are built with sbt, which uses Coursier under the hood.
27-
The Coursier CLI is also the recommended way to get started in Scala. We want to make sure these tools
28-
work well for everyone. In collaboration with the current maintainers Eugene Yokota and Alexandre Archambault, we will
29-
address the most important issues that are currently opened. Read our roadmap for Coursier [here](https://contributors.scala-lang.org/t/bugfixes-and-seamless-installation-process-for-coursier/6052).
30-
31-
#### TASTy-MiMa
32-
33-
[TASTy-query](https://github.com/scalacenter/tasty-query) is a work-in-progress
34-
library to read TASTy files, explore them, and ask semantic questions about
35-
them. It is independent from the compiler, and can be used as a building
36-
block to implement tools performing static analyses of Scala programs. An
37-
example is TASTY-MiMa, an upcoming tool “like
38-
[MiMa](https://github.com/lightbend/mima), but for TASTy”.
39-
40-
We plan to implement support for semantic queries such as “are two types
41-
equivalent?”, “is a type a subtype of another one?”, etc., and to publish a
42-
prototype of TASTy-MiMa.
43-
44-
You can read the full roadmap
45-
[here](https://contributors.scala-lang.org/t/the-scala-centers-roadmap-for-tasty-query/5564).
46-
47-
#### Create a Stable API for the Scala 3 Presentation Compiler
48-
49-
Currently, Metals works only for a limited subset of Scala 3 versions. Furthermore, we need to publish
50-
a new release of Metals after every new release of the compiler to support it.
51-
52-
We would like to create a stable API for the Scala 3 presentation compiler to untie Metals to the compiler
53-
release cycle and support a wider range of Scala 3 versions (including experimental versions of Scala 3).
54-
55-
#### Reduce the Number of Ways to Import Scala Projects in IDEs
56-
57-
Currently, when starting new projects in Metals the build server that is used by default is Bloop. Part of this is for historical reasons, but part of it is also due to the speed of Bloop and the integrations that exist for it. Bloop has been incredibly important in the Build Server arena. However, there is also BSP implementation in sbt and in Mill and even when a `.bsp/<build-tool>.json` entry exists, Metals will still force Bloop on the user unless they manually switch. This can cause confusion and also may add extra steps into choosing a build server that shouldn't be needed.
58-
59-
This problem also exists in a different way in IntelliJ when you open for example an sbt project that has an existing `.bsp/sbt.json` file you'll be prompted to import the project either as a BSP project or an sbt project. Arguably, newcomers have no idea what BSP is, and they shouldn't have to.
60-
61-
We'd like to minimize the number of ways to import projects and revisit the default choices
62-
that Metals makes of using Bloop no matter the build tool. The aim is to make
63-
the experience a newcomer has smoother, abstracting away things like Bloop and
64-
BSP, while still allowing for a powerful user experience for advanced users. Read the full roadmap and progress
65-
reports [here](https://contributors.scala-lang.org/t/revisiting-the-default-build-server-for-metals-roadmap/6054).
66-
67-
### Education and Documentation
68-
69-
#### Scala Website
70-
71-
We plan to modernize the Scala website, and to integrate better the Scala 2
72-
and Scala 3 documentation.
73-
74-
Following up on [the work]({% link records/2022-Q4-activity-report.md %})
75-
we did in the previous quarter, we plan to polish further the content of the
76-
website.
77-
78-
The next main tasks are:
79-
80-
- make the content more use-case-oriented rather than features-oriented,
81-
- reorganize the structure to make it more intuitive according to the reader’s background,
82-
- create new tutorials to document better how to contribute to the Scala open-source
83-
ecosystem.
84-
85-
#### Scala.js
86-
87-
We will finish the work started in early 2022 to [consolidate the Scala.js
88-
ecosystem](https://contributors.scala-lang.org/t/the-scala-centers-roadmap-for-a-unified-scala-js-ecosystem/5568).
89-
90-
With the help of the community, we plan to document the best practices to
91-
have a productive development environment in Scala.js.
92-
93-
#### Language Specification
94-
95-
Currently, there is no proper language specification for Scala 3. A specification would be useful for
96-
developers, when they want to quickly check something about a feature they are using. It would also
97-
be useful to the [Scala Improvement Process](https://docs.scala-lang.org/sips), to provide a basis
98-
for discussions and proposals.
99-
100-
Some pieces of specification
101-
are available in the [Scala 3 Reference](https://docs.scala-lang.org/scala3/reference), but these
102-
pieces are mostly about the differences compared to Scala 2. We will complete them, and publish a
103-
proper language specification for Scala 3.
104-
105-
### Communication
106-
107-
We will conduct many actions aiming at communicating a positive image of Scala,
108-
and making people excited about it.
109-
110-
- We will publish a five-year report detailing the activities and impact of
111-
the Scala Center during the past five years!
112-
- We will regularly share our achievements and engage the community on our
113-
projects _via_ our [LinkedIn](https://www.linkedin.com/company/scala-center/)
114-
page,
115-
- We will create an online shop where individual will be able to give
116-
donations to the Scala Center in exchange for goodies,
117-
- We will speak at tech conferences and local meetups to encourage people to contribute to the
118-
Scala ecosystem, and to let non-Scala programmers know about Scala,
119-
- We will publish two new videos in the series [Let’s talk about Scala
120-
3](https://www.youtube.com/playlist?list=PLTx-VKTe8yLxYQfX_eGHCxaTuWvvG28Ml)
121-
to highlight the strengths of Scala 3.
122-
123-
### Community, Sustainability, and Governance
124-
125-
#### Scala 3 Compiler Academy
126-
127-
We believe that the pool of knowledgeable people about the Scala 3 compiler
128-
implementation is too small. We will create a self-sustaining knowledge hub
129-
for the compiler where others can come and be effectively mentored to be
130-
compiler contributors.
131-
132-
We are continuously adding content to the
133-
[Scala 3 Compiler Academy](https://www.youtube.com/channel/UCIH0OgqE54-KEvYDg4LRhKQ)
134-
YouTube channel, and we run regular events to onboard external contributors on
135-
the compiler codebase. In case you are interested in contributing to the Scala 3
136-
compiler, please register by [filling this form](https://forms.gle/DfoSuHFm3T6MA3L59).
137-
138-
#### Scala Improvement Process
139-
140-
The [Scala Improvement Process](https://docs.scala-lang.org/sips/index.html)
141-
is a process for submitting changes to the Scala language. It aims to evolve
142-
Scala openly and collaboratively. We have restarted the process in 2022, and
143-
we now have regular committee meetings.
144-
145-
#### Promote Simple Scala Solutions
146-
147-
We feel that, currently, the Scala ecosystem has a focus on advanced
148-
expert-level tools and libraries, favouring power and flexibility over
149-
familiarity and ease of onboarding. We believe that newcomers don’t need to
150-
learn advanced concepts such as pure functional programming or reactive
151-
programming to be productive in Scala.
152-
153-
In partnership with VirtusLab, we will contribute to the creation of tutorials
154-
demonstrating how to solve typical programming tasks in a more approachable
155-
programming style.
156-
157-
### Maintenance Work
158-
159-
We will also spend a small part of our time reviewing pull requests,
160-
triaging issues, and sometimes implementing pull requests for the following
161-
projects, to make sure important points are addressed:
162-
163-
- Scala 3 compiler
164-
- Scala 2 TASTy reader
165-
- Scaladex
166-
- Scastie
167-
- Coursier
168-
- sbt
169-
170-
## Advisory Board Proposals
171-
{: .no_toc}
172-
173-
For reference, you can see
174-
[here](https://github.com/scalacenter/advisoryboard/tree/master/proposals)
175-
the list of Advisory Board proposals and their respective status.

records.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ Every quarter, the Scala Center publishes an activity report detailing the
1313
work that has been achieved. You can find the roadmap for the current quarter
1414
in the [Projects page]({% link projects.md %}).
1515

16+
- [2023, Q1]({% link records/2023-Q1-activity-report.md %})
1617
- [2022, Q4]({% link records/2022-Q4-activity-report.md %})
1718
- [2022, Q3]({% link records/2022-Q3-activity-report.md %})
1819
- [2022, Q2]({% link records/2022-Q2-activity-report.md %})

0 commit comments

Comments
 (0)