A free, once-weekly Scala news flash. Easy to unsubscribe. Goes out every Thursday.
January 17th, 2019, ISSUE 257


High-Performance Functional Programming Through Effect Rotation

Vertical & horizontal effects: how to combine multiple effects without the cost of Monad Transfomers
John A. de Goes (@jdegoes)
Trampolines for Everything

In this video we will learn how trampolines can eliminate tail calls in any program, not only CPS. This is part 2/2.
DevInsideYou (@DevInsideYou)
This month at SoftwareMill we’ve learned — December’18

One of the insights this month from SoftwareMill is what to look out for when working with Akka's PersistentFSM actors. Plus, a Scala eXchange recap!
SoftwareMill (@softwaremill)
A Guide to Scala Collections: Exploring Monads in Scala Collections

Although not explicitly named, Scala's collections are full of monads. Find out where!
Robert DeCaire (@DecaireRobert)
Spark Custom Stream Sources

Extending Spark's sources API to use custom streaming sources
Nicolas A Perez (@anicolaspp)
Things I Wish I'd Known About Spark When I Started

One year later: an experience report on what to look out for when using Spark
Enigma (@enigma_data)
Finch vs Http4s, which is FPer

Comparing finch and http4s, two "functional" HTTP libraries for Scala. Which one is functionalier?
Jichao Ouyang (@oyanglulu)
The Fourth Type of Variance

Variance in Scala (and elsewhere) is tricky business. Especially that there are 4 types!
Benjamin Hodgson
Type Erasure in Scala

There's a lot of types in Scala, but a lot of them are erased at run-time. Does this have consequences in practice?
Sid Shanker (@sidpshanker)
A series of Phantom — Part1 : Getting started with Phantom

An introduction on how to use a Cassandra client library for Scala - Phantom.
Flavian Alexandru
Scala hyperledger fabric client

Private blockchains in Scala, using Hyperledger
Eranga Bandara (@itseranga)


Scalar, Warsaw, Poland April 5-6, 2019

Join the next edition of the largest Scala conference in central Europe!
SoftwareMill (@softwaremill)
Lambda Days, Kraków, Poland, February 21-22, 2019

Use promo code SCALArlz10 for a 10% discount for our readers!
LambdaDays (@LambdaDays)
flatMap(Oslo), May 8-9, 2019

Use promo code SCALATIMES for a discount for our readers!
flatMap(Oslo) (@flatmaposlo)



Turn non-exhaustive-pattern-match warnings into compile-time errors using this small plugin.
SoftwareMill (@softwaremill)
Finch 0.27

Finch now works with FS2!
Vladimir Kostyukov (@vkostyukov)


Scala Times banners?

Want one? Click here
Scala Times stickers?

Want one? Let us know or tweet @scalatimes.

  1. Scala Times Issue #278

    Counting to infinity at compile time. Vectos - A functional ecosystem. Scala 2.13.0 for the Akka family. The place of applicative style in today's Scala. This Month We've Learned - May’19 .

  2. Scala Times Issue #277

    Final Free Structures with Subtyping. Exploring the STM functionality in ZIO. The Evolution of a Scala Programmer. How to work with Files in Scala. Top Link Of May: The little gems of Scala standard library.

  3. Scala Times Issue #276

    Small & fast Docker images using GraalVM’s native-image. SystemFw FP blog. IO monad: which, why and how. Counting at compile time. Why I'm Stepping Back from Scalaz.

  4. Scala Times Issue #275

    Tagless unions in scala 2.12. Combine IntelliJ IDEA with Hydra for the fastest Scala development experience. TMWL April’19  - qubits, scripting Google Apps & Scala tricks. Performant Functional Programming to the max with ZIO.

  5. Scala Times Issue #274

    AST playground: recursion schemes and recursive data. Rethinking Streaming Workloads with Akka Streams: Part I. Sharing is Caring!. A Scala tutorial for Java developers. Scala: Useful User Information + Why you should consider the Language.

  6. Scala Times Issue #273

    Community and Communication. Futures Made Easy with Scala. Scala: Useful User Information + Why you should consider the Language. Using 47 Degree's Fetch library with ZIO. Scala Compilation Got 5x Faster With Triplequote Hydra.

  7. Scala Times Issue #272

    The little gems of Scala standard library. Practical fiber safety (and how Concurrent implies Parallel). Typelevel Sustainability Program Announcement. Homegrown #Scala Collections - ScalaCheck / ScalaTest Integration. Alphabet Soup: Lensing, for free.

  8. Scala Times Issue #271

    ZIO & Cats Effect: A Match Made in Heaven. Concurrency is complicated. An introduction to Law Testing in Scala. Celebrating 10 Years of Akka. Alphabet Soup: Type-level transformations.

  9. Scala Times Issue #270

    Akka 2.6 roadmap. Extending MapR Database Queries Using Scala Polymorphic Types. Marvels of functional programming: Composing effects with monads. Traverse your HLists for fun and profit. Did Functional Programming get it wrong?.

  10. Scala Times Issue #269

    Scalar 2019 whiteboard voting. 38 lines of code towards better data validation in Scala. Scala: Internals and Intermediates. Hacker News API Part 5. Scala Ordering Crash Course.

  11. Scala Times Issue #268

    Functional Hangman with ZIO. Scala or Go: Tastes Great or Less Filling?. An Example of Free Monads and Optimization. Homegrown Scala Collections - Part 29 - Are Views Typeclasses?. Scalar, Warsaw, Poland April 5th - 6th.

  12. Scala Times Issue #267

    Bloop’s compiler performance is ~29% faster than SBT. Fourth batch of Scala 3 SIPs. Functional Hangman with ZIO. Scala: Understanding Variance. Fun with mutually-recursive typeclass resolution.

  13. Scala Times Issue #266

    The RedMonk Programming Language Rankings: January 2019. A monad is not a burrito. Joins in Apache Spark - Part 3. Scala sbt Project Directory Structure. Scala Snippets #1: Instantiable Implicits.

  14. Scala Times Issue #265

    Testing Incrementally with ZIO Environment. Finally Tagless - Not Quite Dead Yet. Functional Testing with Tagless-Final. Monad Transformers aren’t hard!. The Functional Scala Concurrency Challenge.

  15. Scala Times Issue #264

    Final Tagless seen alive. Effectful Episode with John de Goes. State vs Stateful Actor. Phil Bagwell Nominations. Introduction to Akka Streams.

  16. Scala Times Issue #263

    Describe, then interpret: HTTP endpoints using tapir. Vue.js with Playframework. Mu-RPC: defining messages and services. Validate Service Configuration in Scala. Modern Systems Programming And Scala Native With Richard Whaling.

  17. Scala Times Issue #262

    Is your Scala object always a singleton?. Freer doesn’t come for free. Maintaining Binary Compatibility in Scala. Anatomy of functors and category theory. A little Scala 'sed' class.

  18. Scala Times Issue #261: from Scala with love

    Aecor — Purely functional event sourcing in Scala. Part 5. Homegrown #Scala Collections - Foldable Maps. Kubernetes Liveness and Readiness Probes Revisited. Streams and Resource Safety | Akka. Assemble messages from Akka Actors.

  19. Scala Times Issue #260

    Cats Ecosystem Community Survey 2018 Results. Thread Pool Best Practices with ZIO. Purely functional parallelism in Scala. Finatra meets Ammonite. Typed Supervision: why the changes?.

  20. Scala Times Issue #259

    State of Scala compilation time in 2018. Low-memory symbol indexing with bloom filters. Finally: Top-level Definitions. Why you should think about functional programming. Toward a polyglot James server….

  21. Scala Times Issue #258

    Scala Days 2019 - Celebrating Collaborative Success. Scala community build grows, adds Scala 2.13 and JDK 11. Type-checked triple equals: Scala test. Using Scala Plugins From Gradle. Exploring Explicit Nulls in Dotty.

  22. Scala Times Issue #257

    High-Performance Functional Programming Through Effect Rotation. Trampolines for Everything. This month at SoftwareMill we’ve learned — December’18. A Guide to Scala Collections: Exploring Monads in Scala Collections. Spark Custom Stream Sources.

  23. Scala Times Issue #256

    Where is the llama for FS2?. Scala Best Practices - Foreword. Aecor - Purely functional event sourcing in Scala. Part 4b. Postgresql from Spark, how to query?. Error Handling in Akka Actor (with Future).

  24. Scala Times Issue #255

    ADT through the looking glass - lenses, prims and other optics. Hpc with scala and akka Actors. Scala Type Classes - The Name Printer. Evolutionary Algorithms on the JVM via Scala  -  a minimal introduction. Aecor - Purely functional event sourcing in Scala. Part 4a.

  25. Scala Times Issue #254

    Cats Ecosystem Community Survey 2018. Scala Developer Suvey Results 2018. Minutes of the 11th meeting of the Scala Center, Q4 2018. Software as a Reflection of Values With Bryan Cantrill. Dotty: An Alternative to Implicits.

Organizing an event?
Promote it with
Scala Times.
The Scala Times reader?
Get a banner!
Got a tip? Send it in!
Follow us on Twitter.
Curated by SoftwareMill.
We are hiring.
And taking on projects.