A free, once-weekly Scala news flash. Easy to unsubscribe. Goes out every Thursday.
May 22nd, 2025, ISSUE 584

READING

Scala 3 migration Tips and Tricks

A twitter thread combined into a single post.
Vlad Kopaniev (@kopaniev)
Learn Scala with Alvin Alexander

Alvin's free Scala and Functional Programming video courses are now complete!
Alvin Alexander (@alvinalexander)
Drawing Heighway’s Dragon - Part 4 - Interactive and Animated Dragon Creation

Currently all the program does is draw a dragon using hard-coded parameters. Let’s make the program more useful and more user-friendly.
Philip Schwarz (@philip_schwarz)
A Distributed System from scratch, with Scala 3 - Part 3

Job submission, worker scaling, and leader election & consensus with Raft.
Christian Hollinger (@chollinger93)
Can we ScalaSQL on Duckdb?

The benefits of type safe queries is available on DuckDB through ScalaSQL. In a limited fashion.
Yeikoff

VIDEOS

Unison, from a Scala perspective

Unison is a young programming language for the cloud, built in particular by the authors of the Scala Red Book and other people who are (or were) active in the Scala community. Unison distinguishes itself from traditional programming languages by re-inventing the foundations of code storage and deployment. By doing so, it unlocks a number of very interesting properties that are rather unique in the programming landscape. This talk will be a quick introduction to the Unison "paradigm" and language, from the perspective of a long-standing Scala programmer. It'll highlight the benefit of this approach, as well as some of the caveats.
Olivier Mélois (@baccata64)
An Algebra of Thoughts: When Kyo effects meet LLMs

This talk will present a type-safe method for structuring LLM interactions based on Kyo effects, introducing an algebra of thoughts that simplifies complex AI workflows. We’ll demonstrate how this approach enables explicit modeling of AI capabilities, simpler management of LLM context, proper resource management, and seamless integration with Kyo's comprehensive suite of effects. Additionally, we will explore how Kyo’s effect tracking can serve as a sandboxing mechanism, facilitating safe and controlled execution of code generated by LLMs. Join us to see how Kyo’s algebraic design can transform how we think about and build reliable, scalable systems for next-generation AI.
Flavio Brasil (@flaviowbrasil)
Degrees of Separation: A Flexible Type System for Safe Concurrency

Capture Separation Calculus (System CSC), a calculus that models fork-join parallelism and statically prevents data races while being compatible with established programming patterns. It follows a control-as-you-need philosophy: by default, aliases are allowed, but they are tracked in the type system. When data races are a concern, the tracked aliases are controlled to prevent data-race-prone patterns. We study the formal properties of System CSC. Type soundness is proven via the standard progress and preservation theorems. Additionally, we formally verify the data race freedom property of System CSC by proving that the reduction of a well-typed program is confluent.
Yichen Xu, Aleksander Boruch-Gruszecki, and Martin Odersky

EVENTS

ScalaWAW #34, May 26th, Warsaw

Planned talks: "Scala 3 support in IntelliJ Scala Plugin" by Maciej Gorywoda and Easier Scala Builds with the Mill Build Tool" by Haoyi Li
ScalaWAW (@scalawaw)
Functional World #17 - Let's Teach LLMs to Write Great Scala!, May 28th, Online Event

oin Kannupriya Kalra, org admin and mentor for Google Summer of Code with Scala Center, as she takes us on a deep dive into the world of Large Language Models - this time, through a Scala lens. While most AI tooling is built around Python, this talk makes the case for a better, type-safe alternative: Scala. Discover how typed functional programming can unlock more reliable and maintainable LLM-powered applications. Learn from Kannupriya’s experience as the co-creator of LLM4S, the first Scala-first AI toolkit, and see how concepts like zero-shot prompting and agentic workflows come to life in a strongly-typed ecosystem. Whether you're curious about building AI in Scala or looking for your next open-source project, this talk is your gateway to smarter, safer, and more scalable AI development.
Kannupriya Kalra (@KannupriyaKalra)
Scala Hamburg: Recursion Schemes & Mill, Jun 2nd, Hamburg, Germany

"Recursion is the goto of functional programming" by Markus Klink, and "Improving the Scala Build Tool Experience" by Haoyi Li
Scala Hamburg
10% discount for Lambda Days, June 12th-13th, Kraków, Poland

Our event is one of the biggest functional programming conferences in Europe with 2 days packed with inspiring talks, networking opportunities, and, of course, some fun(). Use promo code Time4Scala for a special discount for our readers!
LambdaDays (@LambdaDays)
Scala Days, Aug 19th - 21st, Lausanne, Switzerland

Leaders from Scala User Groups and global communities, students, and language contributors will gather to discuss academic research, use cases, and visionary projects for a two-day, action-packed event.
Scala Days (@scaladays)
The Scala Workshop, Oct 13th, Singapore

The Scala Workshop is the continuation of the Scala Symposium, providing a forum for researchers and practitioners to discuss the design, implementation, and applications of the Scala programming language. Topics include language features, compiler internals, type systems, libraries, tools, and industrial applications.
EPFL

RELEASES

abtesstr

abtesstr is a minimal, deterministic A/B testing helper written in Scala. It allows you to build a model that assigns users to experiments. It's a part of the business4s suite.
Voytek Pituła (@Krever01)
ldbc 0.3.0

ldbc (Lepus Database Connectivity) is Pure functional JDBC layer with Cats Effect 3 and Scala 3. This release includes new feature additions, enhancements to existing features, disruptive changes and much more.
Takahiko Tominaga (@takapi327)
IntelliJ Scala Plugin 2025.1.24

This is a bug-fix release. It addresses major issues with compiler-based highlighting that were causing memory leaks, leading to slow performance. You can also expect less flaky red code, especially after using code completions.
JetBrains (@jetbrains)
Databricks Runtime 16.4 LTS

Now with Scala 2.13 support!
Databricks (@databricks)
Mill 0.12.4

With updated support for publishing to http://central.sonatype.org. With the http://oss.sonatype.org sunset on 30 June 2025, everyone using Mill to publish libraries needs to follow the upgrade instructions.
Mill contributors
sbt 1.11.0-RC2

The headline features of sbt 1.11.0 are: Support for the Central Repository publishing.
Eugene Yokota (@eed3si9n)





  1. Scala Times Issue #584

    Scala 3 migration Tips and Tricks. Learn Scala with Alvin Alexander . A Distributed System from scratch, with Scala 3 - Part 3. Can we ScalaSQL on Duckdb?. Unison, from a Scala perspective.


  2. Scala Times Issue #583

    Workflows4s Finally Released - You Might Hate Your Business Processes a Little Less. Business4s & GSoC 2025: 3 Exciting Projects and Not-So-Usual Approach. Unison, Scala, Distributed Systems and Delightful Programming. ScalaWAW #34 May 26th, Warsaw. Scala Hamburg: Recursion Schemes & Mill, Jun 2nd, Hamburg, Germany.


  3. Scala Times Issue #582

    How Scala Ruined My Java (in a good way). IntelliJ IDEA x Scala: Named Tuples. Random Scala Tip #624: The Pitfalls of Option Blindness. From JavaScript to Scala. Scala 3: The Evolution of a Macro.


  4. Scala Times Issue #581

    WORKSHOP: Principled Metaprogramming in Scala 3. The Scala Workshop 2025 - The Scala Workshop 2025. Programming a Language by Nicolas Rinaudo | Scalar Conference 2025.


  5. Scala Times Issue #580

    On vibe coding. Composing Independent Instruction Sets with Free Monads in Scala 3. Announcing Scala.js 1.19.0. Tagless Final for Humans by Noel Welsh | Scalar Conference 2025. Release v1.0.0-RC19 · zio/zio-dynamodb · GitHub.


  6. Scala Times Issue #579

    Scalar Conference 2025 - Summary & Highlights. Experimental Capture Checking: New Syntax for Explicit Capture Polymorphism. Whiteboxish Macro Powers with Named Tuples. IntelliJ Scala Plugin 2025.1 Is Out!. J On the Beach, May 14th - 16th, Málaga, Spain.


  7. Scala Times Issue #578

    Sttp client 4: the Scala HTTP client you always wanted, released!. London Scala User Group Meetup, Apr 16th, London. J On the Beach, May 14th - 16th, Málaga, Spain. 10% discount for Lambda Days, June 12th-13th, Kraków, Poland. Scala Days 2025 CFP, Aug 19th - 21st, Lausanne, Switzerland.


  8. Scala Times Issue #577

    Tagged vs Untagged Unions (in Scala). -XX:+UseCompactObjectHeaders is your new TURBO button for JDK 24+ . Scala Days proposal online hack, Apr 3rd, 8PM CEST, online event. London Scala User Group Meetup, Apr 16th, London. J On the Beach, May 14th - 16th, Málaga, Spain.


  9. Scala Times Issue #576

    API First Scala. Strategies for Efficiently Parallelizing JVM Test Suites. Publishing ZIP artifacts with SBT. London Scala User Group Meetup, Apr 16th, London. J On the Beach, May 14th - 16th, Málaga, Spain.


  10. Scala Times Issue #575

    Data Plumber - Data Integration Pipeline. 15% discount for Scalar, Mar 27th - 28th, Warsaw, Poland. London Scala User Group Meetup, Apr 16th, London. J On the Beach, May 14th - 16th, Málaga, Spain. CFP for Lambda Days, June 12th-13th, Kraków, Poland.


  11. Scala Times Issue #574

    Debugging session #2: Scala 3 lazy vals & serialization. Infrastructure as types: introducing TypeOps. 15% discount for Scalar, Mar 27th - 28th, Warsaw, Poland. London Scala User Group Meetup, Apr 16th, London. J On the Beach, May 14th - 16th, Málaga, Spain.


  12. Scala Times Issue #573

    GSOC 2025: Call for contributors. Drawing Heighway’s Dragon - Recursive Function Rewrite. From Python to Scala: Rewriting 27k Lines of a CLI. Spotify FOSS Fund 2024. Functional World #16, Mar 11th, Online Event.


  13. Scala Times Issue #572

    Rock the JVM partners with the Scala Center. Typelevel Summer of Code 2025. Functional World #16, Mar 11th, Online Event. 15% discount for Scalar, Mar 27th - 28th, Warsaw, Poland. London Scala User Group Meetup, Apr 16th, London.


  14. Scala Times Issue #571

    Fast Incremental JVM Assembly Jar Creation with Mill. Calling Scala Native from Java using FFM. Announcing Scala Days 2025, Aug 19th - 21st, Lausanne, Switzerland. Scala In The City, Feb 25th, Hamburg, Germany. Scala in the City, Feb 26th, Berlin, Germany.


  15. Scala Times Issue #572

    Fast Incremental JVM Assembly Jar Creation with Mill. Calling Scala Native from Java using FFM. Announcing Scala Days 2025, Aug 19th - 21st, Lausanne, Switzerland. Scala In The City, Feb 25th, Hamburg, Germany. Scala in the City, Feb 26th, Berlin, Germany.


  16. Scala Times Issue #570

    Scala Highlights from 2024. Rust from a Scala Perspective: Advent of Code 2024. Scalar, Mar 27th - 28th, Warsaw, Poland. J On the Beach, May 14th - 16th, Málaga, Spain. CFP for Lambda Days, June 12th-13th, Kraków, Poland.


  17. Scala Times Issue #569

    Scala Tooling Spree #1 recap. Scala 3 Migration: Report from the Field. Circuit Breaker — Ox 0.x documentation. The joys of messaging without a message bus. Scalar, Mar 27th - 28th 2025, Warsaw, Poland.


  18. Scala Times Issue #568

    GSoC 2025: Call for Scala projects. Next Scala 3 LTS series will increase minimum required JDK version. Pre-SIP: A Syntax for Collection Literals. Scala Macros and Metaprogramming course. Scalar, Mar 27th - 28th 2025, Warsaw, Poland.


  19. Scala Times Issue #567

    Recap of Advent of Code 2024. Running Cask with Virtual Threads. Zio Schema vs Rust Serde. Scalar, Mar 27th - 28th 2025, Warsaw, Poland. CFP for Lambda Days, June 12th-13th 2025, Kraków, Poland.


  20. Scala Times Issue #566

    Random Scala Tip #568: Beware of Leaking Iterators. Announcing ScalaMock 7. Functional Programming In Scala, Jan 25th, Online Event. Scalar, Mar 27th - 28th 2025, Warsaw, Poland. CFP for Lambda Days, June 12th-13th 2025, Kraków, Poland.


  21. Scala Times Issue #565

    Random Scala Tip #697: Avoid Anonymous Functions as Dependencies. Scalar, Mar 27th - 28th 2025, Warsaw, Poland. CFP for Lambda Days, June 12th-13th 2025, Kraków, Poland. IntelliJ IDEA x Scala - Enums Support.


  22. Scala Times Issue #564

    Google Summer of Code 2024 - Going Feral on The Cloud. Rant on Scala3 tooling (IntelliJ/metals). Scalar, Mar 27th - 28th 2025, Warsaw, Poland. CFP for Lambda Days, June 12th-13th 2025, Kraków, Poland. Where Are the Scala Frameworks? .


  23. Scala Times Issue #563

    Rust vs Scala: Facts and Hype. The IntelliJ Scala Plugin in 2024. Technical Note: Using Circe with java.net.http. Faster CI with Selective Testing. Gems in the Scala Ecosystem.


  24. Scala Times Issue #562

    What Scala has to offer for Java devs. Purify Your Tests Episode IV: The Monoids Strike Back. Scala 2 maintenance plans. Scalar, Mar 27th - 28th 2025, Warsaw, Poland. CFP for Lambda Days, June 12th-13th 2025, Kraków, Poland.


Organizing an event?
Promote it with
Scala Times.
The Scala Times reader?
Get a banner!
Got a tip?Send it in!
Follow us onTwitter.
Curated by SoftwareMill.
We are hiring.
And taking on projects.