Skip to main content

VirtusLab's Articles

Scala|Jul 18, 2024

Scala to WebAssembly: How and Why

WebAssembly (Wasm) is a binary instruction format that offers a compact and efficient way for executing code across diverse environments, including the web. Previously, Scala couldn’t directly compile to Wasm, but now Scala.js will support Wasm as its new linker backend, thanks to the collaborative efforts of the ScalaCenter and VirtusLab. This development may raise a question: why does Scala aim to compile to Wasm, and how is this achieved?

scala and web assembly logos
Scala|Jul 4, 2024

Scala 3 Roadmap for 2024

As Scala 3 maintainers, VirtusLab has big plans for this year. We have put them all together in a detailed roadmap, specifying the future of Scala 3 in 2024. Read on to learn how we intend to release new versions more often, improve reporting, and enhance the UX of Scala 3 and the tooling.

Scala_3_Roadmap_for_2024_image-min.jpg
Scala|Jul 1, 2024

Scala Long-Term Support retrospective

Scala 3.3.0 was released as the first Long-Term Support (LTS) version in Scala's history. Let's see what happened and what changes occured.

Scala_Long-Term_Support_retrospective_image-min.jpg
Scala|Jun 14, 2024

Overcoming macro annotations

Scala 2 accumulated multiple amazing features that either improve the readability of the code, make it easier to write and maintain, or reduce the amount of boilerplate. Even though most of them have become an integral part of the language, some were only treated as experimental—their goal was to discover new language capabilities. Still, it was treated as a temporal and prone to change solution.

Scala logo on green
Scala|Apr 25, 2024

How to build AI apps with Scala 3 and Besom

VirtusLab shows you how to build an AI app with Scala 3 & Besom from scratch.

How_to_build_AI_apps_with_Scala_3_and_Besom_image-min.jpg
Scala|Jun 28, 2023

How to mine Scala 3 compiler metadata using TASTy files

Learn how we leveraged Scala 3's decompiler to mine compiler metadata with TASTy files, streamlining data gathering in 150 code lines.

How_to_mine_Scala_3_compiler_metadata_using_TASTy_files_image-min.jpg
Scala|May 12, 2023

The Scala 3 compatibility story

No programming language can succeed long-term without strong stability guarantees. Scala 3 takes this seriously, giving you excellent backward output compatibility and ensuring your code will work in future versions without changes.

The Scala 3 compatibility story image
Scala|Mar 22, 2023

What is the difference between Scala runner and Scala CLI

A sneak peek at the new scala runner, Scala CLI, including a comparison to its predecessor and a showcase of the tool.

What_is_the_difference_between_Scala_runner_and_Scala_CLI_image-min.jpg
Scala|Feb 17, 2023

Revisiting Scala Native performance

We have compared Scala Native performance aspects and memory usage with JVM and Graal Native Image in this article.

Scala_Long-Term_Support_retrospective_image-min.jpg
Scala|Feb 15, 2023

How to build a simple Scala application with Bazel

A guide to using Bazel, an artifact-based build system, for Scala developers with an example and step-by-step instructions.

How_to_build_a_simple_Scala_application_with_Bazel_image-min.jpg
Scala|Dec 22, 2022

State of Scala survey 2022

The Scala survey 2022 is here and reveals some interesting facts about Scala 2 and Scala 3. Learn how Scala is used and more.

State of Scala survey 2022_cover
Scala|Nov 22, 2022

Automatic parallelization of for-comprehensions in Scala 3

A guide on automatically parallelizing effectful code written with for-comprehensions and making the process simple and painless.

Automatic_parallelization_of_for-comprehensions_in_Scala_3_image-min.jpg