A free, once-weekly Scala news flash. Easy to unsubscribe. Goes out every Thursday.
June 2nd, 2022, ISSUE 432

READING

Free Monad in Scala

In this article, we did a comprehensive overview of what a Free monad is, why it’s useful, how it helps us decouple our code, how it adds flexibility and testability in our programs, and we implemented our own simple version of a Free monad along with an example abstract program and an interpreter for it in the style of Cats Effect.
Daniel Ciocîrlan (@rockthejvm)
Tracking Side Effects in Scala

What if we’d use Scala’s type system for tracking side-effects in impure code, too?
Alexandru Nedelcu (@alexelcu)
Concurrent Sudoku Solver: Part 3 - Using Cats Effect Queue

In this post, we will use a different concurrency primitive from the Cats Effect standard library, Queue, to write a much simpler Sudoku Solver implementation.
Farooq Qaiser
Data validation using cats Validated

In this blog, we looked at data validation and error accumulation using Cats Validated.
Yadu Krishnan (@yadukrishnank)

VIDEOS

Resource safety is hard - SPFS #10

We're getting the tests to compile after starting to move into streams in episode 9. There's also a huge resource safety issue from episode 9 that I finally understood and fixed here, as well as some work to recover the ability to have typed errors in streams.
Jakub Kozłowski (@kubukoz)
The Two Minute Twenty Second Ten-Step Tail Rec Transformation Technique

This should scale straightforwardly to while-loops of any complexity.
Kit Langton (@kitlangton)

EVENTS

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)
ScalaCon 2022 CFP, October 4th-5th, virtual event

ScalaCon is looking for talks covering different areas of Scala. Talk slots are around 40-45 minutes in length with 5 minutes of Q&A time. CFP closes at May 12, 2022 16:50 UTC!
ScalaCon (@scalacon)
Functional Scala 2022, December 1st-2nd, London

Use our link and get a 10% discount for Scala Times readers!
Ziverge (@zivergetech)
Functional Scala 2022 CFP

Apply before October 15th.
Ziverge (@zivergetech)
ScalaWAW #21 - we're back!, Thu, Jun 9, 2022, 6:00 PM | Meetup







  1. Scala Times Issue #448

    From Akka to ZIO. ZIO Hackathon, October 27th-28th, New York, USA & Online. Functional Scala 2022, December 1st-2nd, London. Akka fork applying for Apache Project.


  2. Scala Times Issue #447

    Migrating from Akka HTTP to tapir. How to make Akka serialization bulletproof. Manage library breaking changes with Scalafix. Akka Fork FUD. SBT in Scala (part 1).


  3. Scala Times Issue #446

    Reconciling Spark APIs for Scala. Scripting with Scala. ING Contact Center 2.0  -  Creating Resilient APIs. Functional event sourcing with cats-effect. ZIO Streams Part 1 (The Channel Type).


  4. Scala Times Issue #445

    Containers Redux - Capturing Type Class information for myriad types. Why We Are Changing the License for Akka. ZIO Streams, Part 3: A Bigger Example. SIP-44 - FEWER BRACES in Scala3. Functional Scala 2022 CFP.


  5. Scala Times Issue #444

    Learn Scala 3 The Fast Way!. Implementing Raft using Project Loom. How to prevent Scala 3 compiler regressions with Community Build. Scala is Improving. Tooling Talks - Scaladoc from Scratch.


  6. Scala Times Issue #443

    Implementing Raft using a functional effect system. Reactive Event Sourcing benchmarks, part 1: PostgreSQL. Functional Scala 2022 CFP. ScalaCon 2022 CFP, October 4th-5th, virtual event. ZIO Hackathon, October 27th-28th, New York, USA & Online.


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


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


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


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


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


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


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


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


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


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


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


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


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


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


  21. Scala Times Issue #428

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


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


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


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


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


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.