VirtusLab’s Scala 3 cooperation update

When Martin Odersky joined the VirtusLab Advisory Board, we promised to publish the summary of our involvement in the Scala 3 ecosystem. Here it is!

header1_10-min

A few months ago we announced that Martin Odersky (creator of Scala language) and Jon Pretty (a longtime active Scala contributor) became our advisors. For VirtusLab this confirmed and strengthened our long term strategy of active participation in the Scala ecosystem. Today we have a special update for you on our activities. Here you can also read an update about the 3.0.0-M3 release from Scala Center.

image for article: VirtusLab’s Scala 3 cooperation update

Scala 3 compiler and tooling involvement

The compiler and the core tooling for Scala 3 were originally developed by Martin Odersky with his team, Scala Center and contributors from around the world. Starting September, we built a permanent team to join that effort. The version 3.0.0-M3 is a really important milestone for us since it was the first release with substantial contributions from our in-house Scala 3 team. Here comes a short overview of our work so far.

Tooling: documentation tool for Scala 3

Our efforts within the tooling were focused on building scala3doc, a documentation engine for Scala 3. Our team (Krzysztof, Filip, and Andrzej), together with Aleksander from Martin’s team at EPFL, build scala3doc in a matter of few months, and since 3.0.0-M3 it has become the default doctool for Scala 3. The current status can be tracked in the scala-contributors thread. Stay tuned for our blog post where we will discuss a feature of scala3doc!

Compiler: building a team in-house

We’ve started with building an in-house compiler team (currently comprises Michał and Paweł) and we will continue that process in the following months. The team was focused on feature parity with Scala 2 and was able to deliver first features like full support of @implicitNotFound annotation or safe cross-compilation for different versions of the JVM.

Cooperation with Scala Center

The Scala Center is the foundation for Scala language development, based at EPFL in Switzerland. Their motto is: For open source. For education. Since their foundation in 2016, they have proven the importance of the joint investment from the Scala community and industrial stakeholders to keep the open source project sustainable and scalable.

This is why we joined the Scala Center’s Advisory Board as a contributing member two years ago to make our commitment to the Scala community strong and actionable.

In July’s announcements we promised to expand that cooperation and today we are really proud of what we have achieved with the Scala Center since then.

Tooling: Metals, Bloop

We’ve increased our involvement in Metals with another full-time developer. Our effort there was focused mostly on Scala 3 support, starting with expanding scalameta to handle new syntax (mostly significant whitespaces). This feature may seem like a trivial one, but it is actually the foundation for other advanced and well-loved features of Metals known from Scala 2.

Supporting Metals will remain our priority.

image for article: VirtusLab’s Scala 3 cooperation update

Compiler: Native

We’ve also started cooperation around Scala Native, working towards the upcoming 0.4 release and we will continue working together towards future support for Scala 3.

We are looking forward to continuing and expanding our presence in the Scala community!

Education – ScalaZone

While we were working on the Scala 3 engineering part, we initiated an educational effort to help Scala 2 developers to speed up learning Scala 3.

In a joint effort with Jon Pretty, we have launched ScalaZONE – a free online learning platform. Ultimately ScalaZONE is to cover not only Scala 3 issues but also materials about relevant Scala 3 libraries and tools.

So far, ScalaZone has 208 topics, 2359 finished lessons, 760 active users, and almost 4k/month unique users!

image for article: VirtusLab’s Scala 3 cooperation update

 

It’s a very busy time for us, but we keep the pace and continue working on the development of Scala 3. Stay tuned & expect further, exciting announcements in early 2021! Watch our Twitter account where we share weekly updates on the progress of Scala 3.

VirtusLab already has the capability to help you apply Scala 3 in your project landscape by providing consulting, education and migration services.

Written by

Krzysztof Romanowski
Krzysztof RomanowskiDec 18, 2020