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

    Selection functions are interesting notion with tricky implementation. Tagless final  -  from a different perspective. Long-term compatibility plans for Scala 3. Static Dynamics - Expression definable datatypes in Scala. Top Link of July: Foldable and Traverse with Scala and Cats.


  2. Scala Times Issue #441

    The future of effects in Scala?. ZIO 2 dot Ohhhhh!. Functional Programming Crash Course for Scala Beginners. Functional Scala 2022 CFP. ScalaCon 2022 CFP, October 4th-5th, virtual event.


  3. Scala Times Issue #440

    Teach Programming with Scala. CQRS with Scala, Akka, and Cassandra. Lambda Days, July 28th-29th, Kraków, Poland. Functional Scala 2022 CFP. ScalaCon 2022 CFP, October 4th-5th, virtual event.


  4. Scala Times Issue #439

    A Prelude of Purity: Scaling Back ZIO. Scala Improvement Process - Evolving Scala openly and collaboratively. Secure the Dependencies of your Scala Project on Github. Type safety with refined. Architecture of Metals.


  5. Scala Times Issue #438

    NonEmptyLists more or less. Cats vs ZIO. ScalaWAW #22 - garden grill party, July 20th, Warsaw, Poland. Lambda Days, July 28th-29th, Kraków, Poland. Functional Scala 2022 CFP.


  6. Scala Times Issue #437

    Foldable and Traverse with Scala and Cats. Ergonomics of end markers. Functional Scala 2022 CFP. Lambda Days, July 28th-29th, Kraków, Poland. ScalaCon 2022 CFP, October 4th-5th, virtual event.


  7. Scala Times Issue #436

    Persistent data structures in functional programming. Concurrent Sudoku Solver: Part 4 - Using FS2 Stream + Topic. Scala or Go: Who Wore It Better?. Fields  -  Scala Validation Library. Zymposium - Derivable Differs.


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


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


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


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


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


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


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


  15. Scala Times Issue #428

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


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


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


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


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


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


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


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


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


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


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


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.