A free, once-weekly Scala news flash. Easy to unsubscribe. Goes out every Thursday.
July 19th, 2024, ISSUE 541

READING

Tapir documentation improvements

New landing page, list of how-tos and examples, tutorials!
Adam Warski (@adamwarski)
Checked exceptions: fixed!

How to handle exceptions elegantly with the new Contingency library.
Jon Pretty (@propensive)
Crafting types with Scala 3 macros - Part 1: Introduction to macros

Macros, reflection API, and much more.
Thilo Schuchort (@NullWasAMistake)
how to see the trees using the Scala compilers

Here’s a memo on how to show trees using the Scala compilers. While this likely won’t be relevant for normal usage of Scala, having the direct knowledge of the tree can be useful when developing tooling or during metaprogramming.
Eugene Yokota (@eed3si9n)
Use cases for Scala

Please help us to document the critical uses for Scala, for public good, for open source, for research or industry. This will enhance our chances to get funds and help us maintain the critical infrastructure for Scala.
Scala Center (@scala_lang)

EVENTS

ScalaWAW #33 - beach party! Jul 25th

It's high time for the legendary annual ScalaWAW beach party! The idea is pretty simple - no talks, no strict formula, just chill and enjoy the beach, the weather, and of course networking with fellow (not-only-Scala) programmers.
ScalaWAW (@scalawaw)
Building Better Open Source with John A. De Goes, every Fri until September 2nd, Online event

Want to learn how open source software is made, or maybe get some help improving existing OSS? Then mark your calendars for Friday, the next Zymposium, 12 noon - 1pm Eastern Time.
Scala Portugal
Lambda World. Oct 2nd - 4th, Cadiz, Spain

Don't miss he largest Functional programming event in South Europe!
Lambda World (@lambda_world)

VIDEOS

A Remote Code Execution System with Apache Pekko & Scala

In this video we will demonstrate the features of Apache Pekko (the open source version of Akka) with a small project: a distributed remote code execution system, where a client sends a piece of code as text to be executed, and our system returns the output.
Daniel Ciocîrlan (@rockthejvm)
Tapir Tutorial - part 7: Integration with cats-effect & http4s

We've seen how to use Tapir in combination with direct-style, but one of Tapir's main strengths is that it integrates with virtually every Scala stack out there. This means, first and foremost, cats-effect for describing side-effecting computations, and http4s as an HTTP server. We'll include, of course, generating OpenAPI docs!
Adam Warski (@adamwarski)

RELEASES

uPickle 4.0.0-RC1

A few breaking changes on the way - Shorten $type tag used for discriminating sealed trait cases, unbox first level of Options when serializing JSON.
Li Haoyi (@li_haoyi)





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


  2. Scala Times Issue #561

    Scala's Hidden Treasures: Five ZIO-Compatible Libraries you didn't know you needed!. A succinct early exit trick for Option in Scala. Integrate JobRunr into Play Framework. Relative simple and small type-driven dependency injection. Scala Space in 2025 .


  3. Scala Times Issue #560

    Free Develocity Build Scans. Pragmatic Type-Level Design. Join us for the Advent of Code 2024. Zio-kafka, faster than java-kafka. Debugging a Scala Compilation Issue, a journey into Variance and LUB.


  4. Scala Times Issue #559

    Last bounties to collect for tapir and sttp. Mill $1000 bounty: Use Scala-Native for Mill Client. Free Develocity Build Scans. 10% discount for Scala Times readers for Functional Scala conference!. Scalar, Mar 27th - 28th 2025, Warsaw, Poland.


  5. Scala Times Issue #558

    New Module Layout for sbt Projects. How I SBT - V. Zionomicon for ZIO 2.1 (free ebook). 10% discount for Scala Times readers for Functional Scala conference!. Scalar, Mar 27th - 28th 2025, Warsaw, Poland.


  6. Scala Times Issue #557

    What is Functional Programming?. Announcing Akka 3. Idiomatic dependency injection for ZIO applications in Scala. ZIO in 2025. Upcoming Changes to Givens in Scala 3.7.


  7. Scala Times Issue #556

    Benchmark results: jsoniter-scala vs simdjson-java . Scalar 2025 extends call for papers!. Scala.IO, Nov 7th-8th, Paris. Functional Scala CFP, Dec 5th, online event. 10% discount for Scala Times readers for Functional Scala conference!.


  8. Scala Times Issue #555

    (In)Validating Library Design. Postmortem of Scala 3.6.0. How to implement LETS on ChainCash. Scalar 2025 extends call for papers!. Scala.IO, Nov 7th-8th, Paris.


  9. Scala Times Issue #554

    SoftwareMill Open Source Bounties. Scala: a mature open-source project. Folding Cheat Sheet #8 - Folding with Monoids . Simple Contract-First Applications. Scalar 2025 extends call for papers!.


  10. Scala Times Issue #553

    Direct-style concurrent streaming. Open com-lihaoyi issue bounties. Scala Project Maintenance Survey. Scalar 2025 extends call for papers!. Scala.IO, Nov 7th-8th, Paris.


  11. Scala Times Issue #552

    Optimal Scalafmt configuration using Genetic Algorithms. Cancellable HTTP requests via Scala's Tapir. Game of Life with Scala.js and Webassembly. Scala without effect systems. The Martin Odersky way.. Scalar 2025 Early Birds!.


  12. Scala Times Issue #551

    Functional Programming in Scala - Edu Plugin. Inline your boilerplate - harnessing Scala 3 metaprogramming without macros. Scalar 2025 Early Birds!. Lambda World, Oct 2nd - 4th, Cadiz, Spain. Art of Scala, Oct 10th, Warsaw, Poland.


  13. Scala Times Issue #550

    Autowire: Zero-Cost Dependency Injection. Another bunch of com.lihaoyi Mill issue bounties. Comparison of Kyo and traditional effects. Scala & Akka: How to secure your code. Fun with Types: All Types of Physics Computations.


  14. Scala Times Issue #549

    Capabilities for Control. Scalar 2025 Call for Papers is open!. Unison Forall, Sept 20th, remote conference. Lambda World. Oct 2nd - 4th, Cadiz, Spain. Call for Speakers - Art of Scala, Oct 10th, Warsaw, Poland.


  15. Scala Times Issue #548

    Perfect Tab Completions. David's programming examples knowledge base. Writing an Android app with Scala.js. Unison Forall, Sept 20th, remote conference. Lambda World. Oct 2nd - 4th, Cadiz, Spain.


  16. Scala Times Issue #547

    Streaming Hash Computations. Launch Scala, faster than Native. Distributed locks in Kubernetes with Scala. The Future Software Engineer. Lambda World. Oct 2nd - 4th, Cadiz, Spain.


  17. Scala Times Issue #546

    Upcoming Changes to Givens in Scala 3.7. Unexpected Scala Functions: groupMap. Lambda World. Oct 2nd - 4th, Cadiz, Spain. Call for Speakers - Art of Scala, Oct 10th, Warsaw, Poland. Scala.IO, Nov 7th-8th, Paris.


  18. Scala Times Issue #545

    ZIO-like dependency injection using implicit resolution. The Mechanics of Mitigation. Publishing test traces to Grafana using otel4s and weaver. Announcing Decisions4s: When Ifs Are Not Enough. State of structural typing support in Scala 3.3.0.


  19. Scala Times Issue #544

    Direct-style Bootzooka: 2024 update | SoftwareMill. The Tri-Z Architecture: a Pattern for Layering ZIO Applications in Scala. The Error Management Manifesto. Migrating to Safety. Benchmarking database sharding in Akka | @lightbend.


  20. Scala Times Issue #543

    Lambda World. Oct 2nd - 4th, Cadiz, Spain. Metals v1.3.4 - Thallium | Metals.


  21. Scala Times Issue #542

    Effective Error Handling. Developer Ecosystem Survey 2024. Pseudorandom Acts of Kindness. Scala 3 Metaprogramming Learning Resources. Scala to WebAssembly: How and Why.


  22. Scala Times Issue #541

    Tapir documentation improvements. Checked exceptions: fixed!. Use cases for Scala. ScalaWAW #33 - beach party! Jul 25th. Lambda World. Oct 2nd - 4th, Cadiz, Spain.


  23. Scala Times Issue #540

    PureConfig with Scala 3 - Tutorial. Developer Experience in Open Source Software. "Learn Functional Programming The Fast Way!" PDF is free. ScalaBridge London @ SiriusXM!, Jul 18th. ScalaWAW #33 - beach party! Jul 25th.


  24. Scala Times Issue #539

    YAML as a valid Scala 3 code. ExecutionContext.parasitic and Friends. ScalaBridge London @ SiriusXM!, Jul 18th. Lambda World. Oct 2nd - 4th, Cadiz, Spain. Faster and less mysterious sbt builds with Develocity.


  25. Scala Times Issue #538

    Make Impossible States Unrepresentable: Network Edition!. Ten things I like about Scala 3. Compiling Bad Code. The ZIO 2 “mental model”. JetBrains course: Functional Programming in Scala.


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.