A free, once-weekly Scala news flash. Easy to unsubscribe. Goes out every Thursday.
February 17th, 2022, ISSUE 418

READING

A practical guide to error handling in Scala Cats and Cats Effect

This article is meant to be a helpful reference of error handling methods for developers having some experience with FP programming and the Scala Cats ecosystem specifically.
Tomasz Kiełbowicz
Writing a simple CLI game in Scala 3

I hope you will find this short tutorial helpful, especially if you’re considering adopting Scala 3 and CE3 in your codebase.
Krzysztof Atłasik
The Scala Center's roadmap for a Unified Scala.js Ecosystem

It is a challenge for every newcomer to find the pieces that are relevant, to connect them, and to build a good development experience.
Sébastien Doeraene (@sjrdoeraene)
Monadic Resource Management in Scala

This post was the story of how I over-engineered a solution for a first-world problem™ just for fun and for the sake of learning and understanding how to leverage Scala’s idioms.
Alberto Huélamo (@alhuelamo)
About capture checking

This feature is a new chapter in a decade-long struggle for adding something like an effect system to scala 3. It has some similarities with the linear constraints proposal for Haskell and rust lifetimes.
Oleg Nizhnik (@Odomontois)
FS2-Kafka in real world - Part 1

Hopefully after reading all this, you'll understand how to use FS2 Kafka to consume and produce data from Kafka using FS2 Streams.
Ayush Mittal
Using Scala 3 with Spark

If it took two years for Spark to upgrade from Scala 2.12 to 2.13, you might be wondering how long it will take for a Scala 3 version of Spark to arrive. The answer is: it doesn’t matter! We can already use Scala 3 to build Spark applications thanks to the compatibility between Scala 2.13 and Scala 3.
Chris Birchall (@cbirchall)

EVENTS

Bootcamp [Scala], March - July, free online training

Learn Functional Programming and Scala in just 3,5 months. You can apply until February 18th, 2022.
Evolution Engineering
TypeVille, April 20th - 22nd Krynica-Zdrój, Poland

The conference agenda is already here, with 22 Speakers and +10 hours of tech talks confirmed (including 5 about Scala). Use Scala Times discount code (10% lower price for all attendee packages) and see you in the Polish mountains! Code: typeville_loves_scalatimes
SoftwareMill (@typevilleconf)
Lambda Days, July 28th-29th, Kraków, Poland

A vibrant event focused on FP and its growing community. Find out what is possible with functional programming - explore the latest in battle-tested Scala, Erlang and Haskell, experience the energy F# and Elixir bring to the table, connect with the innovators working with Elm, Luna and Ocaml, see what comes up next!
LambdaDays (@LambdaDays)

RELEASES

sttp-oauth2 v0.13.0

Thanks to Bartek Wierciński, with this release, sttp-oauth2-cache-cats will now depend on CE3. Use oauth2-cache-ce2 module if you rely on CE2.
sttp-oauth2 contributors
Scalqa 1.0

Scalqa stands for 'Scala Quick API'. It provides basic language API focused on faster minimalistic collections. Scalqa collections are also fully specialized and allow processing of primitive types without boxing, delivering dramatic benefits in speed and memory consumption.
Evgeny Dolgy
Ammonite 2.5.2

Now with Scala 3 support!
Alexandre Archambault (@alxarchambault)
zio-jdbc

A small, idiomatic ZIO interface to JDBC
zio-jdbc contributors





  1. Scala Times Issue #429

    Implicit vs Scala 3's Given. New in Scala 3. What is a Monad? Adam Warski. GitHub Code Search First Look. A Prelude of Purity: Scaling Back ZIO.


  2. Scala Times Issue #428

    Lambda Days, July 28th-29th, Kraków, Poland. ScalaCon 2022 CFP, October 4th-5th, virtual event.


  3. Scala Times Issue #427

    Akka durable state. Scala OOFP Design Sample. Dependency management in Scala. Lambda Days, July 28th-29th, Kraków, Poland. ScalaCon 2022 CFP, October 4th-5th, virtual event.


  4. Scala Times Issue #426

    Bootzooka 2022: cats-effect 3, autowire &tapir. Scala's Gitter to Discord migration mistake. Scala Center Q1 2022 Update. Diamond Architecture - How to build HUMONGOUS Apps FAST!. Lambda Days, July 28th-29th, Kraków, Poland.


  5. Scala Times Issue #425

    Scala 3: Significant indentation and other things we love. Context Function for DSL Design in Scala. Introducing Scopes in ZIO 2.0. On Typelevel and Monix. Call for Steering Committee Members.


  6. Scala Times Issue #424

    Fancy strings in Scala 3. Scala & the Three Implicits. Scala 3: “Erased” Definitions. Tapir: Building an adopters page. Lambda Days, July 28th-29th, Kraków, Poland.


  7. Scala Times Issue #423

    Three tools to improve your Scala workflow. Twotm8 (part 1). ZIO SQL: Type-safe SQL for ZIO applications. Using TestControl to Test FS2 Streams. Lambda Days, July 28th-29th, Kraków, Poland.


  8. Scala Times Issue #422

    The Debug Adapter Protocol and Scala. The Java Timer. List vs Vector in 2022. Journey of Implicits in Scala  -  part 3. Autowire - an overview.


  9. Scala Times Issue #421

    Scala 3 inline and macros community census. Finding awesome Scala libraries. Journey of Implicits in Scala  -  part 2. Different Ways to Package a Simple Scala Application. Cloudflare functions with Scala.js.


  10. Scala Times Issue #420

    FS2-Kafka in real world - Part 2. Journey of Implicits in Scala. Grow the Scala community with a SINGLE command!. Lambda Days, July 28th-29th, Kraków, Poland. Support for Scala 3 in mainargs.


  11. Scala Times Issue #419

    Leveraging AWS Aurora for Event Sourcing. Effective Scala Case Class Patterns. TypeVille, April 20th - 22nd Krynica-Zdrój, Poland. Lambda Days, July 28th-29th, Kraków, Poland. UML Class Diagram for Scala.


  12. Scala Times Issue #418

    Writing a simple CLI game in Scala 3. The Scala Center's roadmap for a Unified Scala.js Ecosystem. Monadic Resource Management in Scala. About capture checking. FS2-Kafka in real world - Part 1.


  13. Scala Times Issue #417

    Capture checking prototype for Scala. Scala project from scratch #7. FS2: Typed Functional Streams in Scala. Bootcamp [Scala], March - July, free online training. TypeVille, April 20th - 22nd Krynica-Zdrój, Poland.


  14. Scala Times Issue #416

    Every Argument for Static Typing Applies to Typed Errors. Sick Fira Code Progress Bars for Absolute Beginners! - Part 2. Bootcamp [Scala], March - July, free online training. TypeVille, April 20th - 22nd Krynica-Zdrój, Poland. Lambda Days, July 28th-29th, Kraków, Poland.


  15. Scala Times Issue #415

    Hands-on Kafka Streams in Scala. Having fun with Ordering in Scala. Sick Fira Code Progress Bars for Absolute Beginners! - Part 1. Bootcamp [Scala], March - July, free online training. TypeVille, April 20th - 22nd Krynica-Zdrój, Poland.


  16. Scala Times Issue #414

    Safer Exceptions in Scala 3. Type Class Derivation in Scala 3. Learn Scala with Online Courses. Functional Programming in Scala. Migrating to Java 17.


  17. Scala Times Issue #413

    Notes about loading configuration Examples for Play Framework and Spring Boot. Scala project from scratch #6. "Functional Programming for Mortals with Scalaz" Review. Scala Love CFP, February 18th, 2022, Online Event. ScalaMatsuri CFP, March 19th - 20th, 2022, Online Event.


  18. Scala Times Issue #412

    Why Scala Is Seeing A Renewed Interest For Developing Enterprise Software. The wonder of context functions. Scala Love CFP, February 18th, 2022, Online Event. ScalaMatsuri CFP, March 19th - 20th, 2022, Online Event. TypeVille CFP, April 20th - 23rd 2022, Krynica-Zdrój, Poland.


  19. Scala Times Issue #411

    Scala and Rust interoperability via JNI. Learn Doobie for the Greater Good. Scala Love CFP, February 18th, 2022, Online Event. ScalaMatsuri CFP, March 19th - 20th, 2022, Online Event. TypeVille CFP, April 20th - 23rd 2022, Krynica-Zdrój, Poland.


  20. Scala Times Issue #410

    My Dos and Donts in sbt Build Definitions. Scala Chat: Hello Discord (So Long, Gitter). Smart constructors for case classes. Gallia: a library for data transformation. Sourcegraph: Precise Code Intelligence for Java, Scala, and Kotlin.


  21. Scala Times Issue #409

    ZIO environment: episode 3. Preparing Apache Kafka for Scala 3. How I Self-Published My First Technical Book. "Scala CLI" - Tool or Toy?. "Practical Functional Programming in Scala" Review.


  22. Scala Times Issue #408

    7 ZIO experts share why they choose ZIO. ENSIME: The Next Generation. Coding at 6am isn't fun. ScalaMatsuri CFP, March 19th - 20th, 2022, Online Event. TypeVille CP, April 20th - 23rd 2022.


  23. Scala Times Issue #407

    IntelliJ Scala Plugin 2021.3 Is Out!. Scala at Scale at Databricks. Akka Streams Backpressure. Zip and slide! (Advent of Code day 1). Ep 15: Advent of Code 2021 Day 1. Is it Traverse?.


  24. Scala Times Issue #406

    Security improvements in tapir 0.19. Retrying function calls in Scala. Parsing character encoding-dependent protocols with scodec in Scala. Introduction to ZIO. "Scala with Cats" Review.


  25. Scala Times Issue #405

    The programmer's brain in the lands of exploration and production. The Red Book - "Functional Programming in Scala" Review. Functional Scala, Dec 2nd - 3rd.


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 bySoftwareMill.
We arehiring.
Andtaking on projects.