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

READING

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)

EVENTS

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)

RELEASES

neme-plugin

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)

VARIA

Scala Times banners?

Want one? Click here
THE INTERNET
Scala Times stickers?

Want one? Let us know or tweet @scalatimes.
THE INTERNET





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


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


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


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


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


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


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


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


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


  10. Scala Times Issue #253

    Scala Variables - Syntax, Declaration, Use case, Examples - Leo Benkel. Fast goto definition with low memory footprint · Metals. New Akka Getting Started Guide. Different ways to understand a monad. MOOC: Introduction to programming with dependent types in Scala.


  11. Scala Times Issue #252

    The F-words: functor and friends. Grafter  -  a take on yet another DI library. Anatomy of a Scala quirk. Creating Work Queues with Apache Kafka and Apache Pulsar. Terminus - Cross Platform Terminal Emulator for Sublime Text.


  12. Scala Times Issue #251

    Scala Numerical Performance with Scala Native and Graal. SBT Plugin - How to make it, debug it, improve it?. Better than IO, part 1. Scala and Slick - An Introduction. Category Theory for Programmers: Scala Edition 1.1-RC.


  13. Scala Times Issue #250

    Correlation IDs in Scala using Monix. Further enhance `new` syntax to reduce boilerplate. Counting type inhabitants. Variances in Scala. SIP Meeting Minutes - November 1-3 2018.


  14. Scala Times Issue #249

    How To Exclude Scala Tests With Tagging?. Explore Witnesses as an Alternative to Implicits. Build code analyzers with Scalameta and Scalafix. Immutable State in Real World. A streaming library with a superpower: FS2 and functional programming.


  15. Scala Times Issue #248

    Minutes of the 10th meeting of the Scala Center, Q3 2018. Scala - faster and slimmer with GraalVM. 5 themes for Scala programming in 2019. Beyond the conference: Q&A with The Guardian’s Maria-Livia Chiorean. Homegrown Scala Collections - Part 13 - Growing Binary Search Trees.


  16. Scala Times Issue #247

    Getting started with recursion schemes using Matryoshka. Friendly Functional Programming. Building the Hangman Game using ScalaZ ZIO. Anatomy of semigroups and monoids. The Scala 2.12 / 2.13 Inliner and Optimizer.


  17. Scala Times Issue #246

    Don’t get mixed. Typed Functional Programming and Software Correctness. Scala compiler phases with pictures. A tale on Semirings. Scala Programming  -  A Skeptic’s Journey.


  18. Scala Times Issue #245

    Scala Center highlights June - October. Fastparse 2: Even Faster Scala Parser Combinators. God’s Programming Language With Philip Wadler. Algebraic Data Types in four languages. Finch Performance Lessons.


  19. Scala Times Issue #244

    Achieving stack and heap safety in recursive functions. A comprehensive introduction to Cats-mtl. Using Akka Http to create a test server. Skoda's new hatchback is called 'Scala'. Are you sure your AnyVals don’t instantiate?.


  20. Scala Times Issue #243

    Introducing Scaladoc Tables. This month at SoftwareMill we’ve learned. Backoff and Retry Error-Handling for Akka Streams. Anatomy of functional programming. Anatomy of an algebra.


  21. Scala Times Issue #242

    Using Monix with Kafka, Avro and Schema Registry. Scala is now on Apache License Version 2.0. Just Enough Scala for Spark Programmers. Giter8 Scala Microservice template. Homegrown Scala Collections - Part 7 - Parametric Polymorphism aka Generics.


  22. Scala Times Issue #241

    Model correctly and write less code, using Akka Streams. Elevator Control System using ZIO. Easing Into Cats, And The Case For Category Theory Inspired Abstractions. Get considered harmful. IO & Logging Capabilities.


  23. Scala Times Issue #240

    2018 Scala compilation time survey. How to Dockerise a Scala and Akka HTTP Application. Using Machine Learning to Predict the Weather in Basel. How We Found a Missing Scala Class. New proposal for extension method.


  24. Scala Times Issue #239

    Functional Programming for Mortals. Strings are not the type you are looking for. Choose Primitives for Typelevel and Meta Programming in Scala 3.0. To tag a type. Parallelize tests in SBT on Circle CI.


  25. Scala Times Issue #238

    How to translate your API with Shapeless. A case to introduce Scala in a Java world. Are Scala Futures the past?. Effect Extensions Pattern. Dotty Type classes.


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.