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 #435

    Scala at Prezi: Introduction of ZIO. First 5 years of the Scala Center. Disjoint Graph Unions: Performance Case Study. Functional Scala 2022 CFP. Lambda Days, July 28th-29th, Kraków, Poland.


  2. Scala Times Issue #434

    Creating CLI tools leveraging ZIO and Decline using scala-cli. Apache Spark 3.0 Exciting Capabilities. Validation in Scala 3 with Cats. ZLayers in ZIO 2.0 are a totally different BEAST!. It's time to traverse (SPFS #11).


  3. Scala Times Issue #433

    Structuring ZIO 2 applications. What are ZIO Effect Constructors?. Roadmap to a Successful Data Engineer. Creating an SBT Project Template using Giter8. ScalaWAW #21, June 9th, 2022, Warsaw, Poland.


  4. Scala Times Issue #432

    Free Monad in Scala. Tracking Side Effects in Scala. Concurrent Sudoku Solver: Part 3 - Using Cats Effect Queue. Data validation using cats Validated. Resource safety is hard - SPFS #10.


  5. Scala Times Issue #431

    You already know Monad(ic) stuff. Top Link Of April: Dependency management in Scala. Lambda Days, July 28th-29th, Kraków, Poland. ScalaCon 2022 CFP, October 4th-5th, virtual event. Functional Scala 2022, December 1st-2nd, London.


  6. Scala Times Issue #430

    OOP vs Type Classes, Part 1: Ideology. Scala Generics: A Gentle Introduction. Lambda Days, July 28th-29th, Kraków, Poland. ScalaCon 2022 CFP, October 4th-5th, virtual event. Functional Scala 2022, December 1st-2nd, London.


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


  8. Scala Times Issue #428

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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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.