A free, once-weekly Scala news flash. Easy to unsubscribe. Goes out every Thursday.
June 16th, 2025, ISSUE 587

READING

First Make It Correct

Starting out with a correct solution gave us clarity of thought about the problem, and a tangible way to test any other solutions that we can come up with. Property-based testing allowed us to maintain confidence even as we tried more and more daring approaches. Without the initial correct solution, none of this would be possible.
Daniel Beskin
Suspension: the magic behind composability (or: "The Kyo Monad")

Slides from LambdaDays 2025.
Flavio Brasil (@flaviowbrasil)
My experience migrating a PlayFramework app to Scala 3

Some interesting notes from the migration process.
Tanin Na Nakorn (@tanin)
Yet Another Scala 3 Migration Story

A rough summary of the experience of migrarting four services and one library, totaling more than 170k LOC.
Voytek Pituła (@Krever01)
The Elements of Kyo

All the key abstractions presented as a periodic table!
How I disabled -Xfatal-warnings in IDE (IntelliJ) but kept it in CI

On one hand, it’s an inevitable PR review and code quality boost—I no longer have to comment on unused variables or imports. On the other hand, it kills experimentation and creativity. I’ve spent countless hours fixing unused variables and imports just to test something quickly.
Łukasz Tymoszczuk

EVENTS

Software Delivery Excellence in the age of AI: A Fireside Chat, June 26th, Online Event

As AI-generated code becomes more prevalent, developers face new challenges: larger codebases, longer build times, and a growing gap between code and comprehension. What happens when code is technically correct but semantically opaque? How do we maintain quality, readability, and speed in a world of auto-generated tests and AI-assisted pipelines?
Martin Odersky, Hans Dockter, Trisha Gee
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

yaes 0.4.0

A shiny new effect, the Resource effect, and a bunch of interesting enhancements to the Flow data structure.
Riccardo Cardin (@riccardo_cardin)
S2D

A 2D library for Videogames Programming written in Scala.
Matias Finochio
jing

Frictionless spec-first programming against OpenAPI.
Tomas Mikula (@tomas_mikula)
dotty-cps-async 1.1.2

Macro library, which implements {async/await, reflect/reify, unlift/lift} via cps-transform and allows developers to use direct control flow constructions of the base language instead of a monadic DSL with any monad.
dotty-cps-async contributors
MiniClust

A lightweight multiuser batch computing system written in Scala.
Romain Reuillon





  1. Scala Times Issue #587

    First Make It Correct. Suspension: the magic behind composability (or: "The Kyo Monad"). My experience migrating a PlayFramework app to Scala 3. Yet Another Scala 3 Migration Story. The Elements of Kyo.


  2. Scala Times Issue #586

    Making ScalaSql boring again (with interesting new internals). Lambda World proposal online hack, Jun 12th, Online Event. 10% discount for Lambda Days, June 12th-13th, Kraków, Poland. Scala Days, Aug 19th - 21st, Lausanne, Switzerland. The Scala Workshop, Oct 13th, Singapore.


  3. Scala Times Issue #585

    IntelliJ IDEA x Scala: How to clone carets. Scala Days 2025 - Functional Programming And The Real World. Developer Ecosystem Survey 2025. ScalaWAW #34, May 26th, Warsaw. Scala Hamburg: Recursion Schemes & Mill, Jun 2nd, Hamburg, Germany.


  4. 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.


  5. 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.


  6. 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.


  7. 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.


  8. 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.


  9. 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.


  10. 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.


  11. 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.


  12. 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.


  13. 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.


  14. 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.


  15. 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.


  16. 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.


  17. 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.


  18. 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.


  19. 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.


  20. 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.


  21. 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.


  22. 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.


  23. 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.


  24. 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.


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.