A free, once-weekly Scala news flash. Easy to unsubscribe. Goes out every Thursday.
December 23rd, 2021, ISSUE 410

READING

My Dos and Donts in sbt Build Definitions

The goal of this is to hopefully spark a conversation in your team about build definitions, how you write them, and best practices to follow.
Chris Kipp (@ckipp01)
Scala Chat: Hello Discord (So Long, Gitter)

On behalf of the Scala organization, I am pleased to announce that we have adopted Discord as our official chat platform.
Seth Tisue (@SethTisue)
Smart constructors for case classes

Learn patterns for safe object construction with built-in validation.
Noel Markham (@noelmarkham)
Gallia: a library for data transformation

Gallia is a Scala library for generic data transformation with a focus on practicality, readability, and scalability (if needed).
Anthony Cros (@anthony_cros)
Sourcegraph: Precise Code Intelligence for Java, Scala, and Kotlin

We are excited to announce that Sourcegraph now supports precise Code Intelligence for Java, Scala, and Kotlin. More precisely, this means you can get compiler-accurate “Go to definition” and “Find references” within a Git repository and all transitive dependencies of your codebase.
Ólafur Páll Geirsson (@olafurpg)
Top Link Of November: On the future of Akka & Lightbend

It's not a surprise that such an important summary of a crucial part of the Scala ecosystem has become the most popular article last month.
Jonas Bonér (@jboner)

VIDEOS

Implicits for Hypothetical Babies

Let's talk about, you know.
Kit Langton (@kitlangton)
"Akka Concurrency" Review & The Truth about Actors & Akka

There aren't many Akka books out there. This one is a bit controversial...
DevInsideYou (@DevInsideYou)

EVENTS

Scala Love CFP, February 18th, 2022, Online Event

Everyone is very welcome to apply to speak at Scala Love. We are looking for people willing to share their knowledge in the company of other great developers.
Scala Love (@scala_love)
ScalaMatsuri CFP, March 19th - 20th, 2022, Online Event

CFP will close at January 15th (Sat), 2022 Anywhere on Earth (Jan 16th 20:59 JST).
ScalaMatsuri (@ScalaMatsuri)
TypeVille CFP, April 20th - 23rd 2022, Krynica-Zdrój, Poland

The new brand name for Scalar comes in April 2022! Submit a C4P application by January 9th.
SoftwareMill (@softwaremill)

RELEASES

macwire 2.5.2

MacWire generates new instance creation code of given classes, using values in the enclosing type for constructor parameters, with the help of Scala Macros. Latest MacWire significantly improves the experimental autowire variant. Autowire works at compile-time and generates code wiring your dependency graph, including cats-effect Resources, effects and factory methods.
Mateusz Borek
magnolia 1.0.0

Easy, fast, transparent generic derivation of typeclass instances - for Scala 2 and 3.
softwaremill (@softwaremill)
sbt-github

sbt plugin for GitHub Packages, publish packaged jars or remote cache artifacts.
Eric Peters (@ericpeters)
zio-cli 0.1.0

Rapidly build powerful command-line applications powered by ZIO.
zio-cli contributors
smithy4s

Smithy is an interface definition language (IDL) provided by AWS. It is protocol agnostic, flexible, and reasonably low surface, which facilitates the writing of tooling. Smithy4s is a tool that generates third-party-free, protocol-agnostic scala code from smithy specifications, and provides opt-in modules containing functions that use third-party libraries to interpret the generated code in different ways.
Olivier Mélois (@baccata64)
Akka 2.6.18

New passivation strategies for Cluster Sharding, non-snapshot artifacts for Scala 3, send all allocated shards to region/proxy when registering, and many other fixes/improvements.
Akka Team (@akkateam)
Akka gRPC 2.1.2

Featuring a more detailed code generation model, more convenient rich error messages, aligned protoc versions and some more goodies.
Akka Team (@akkateam)
feral 0.1.0-M1

This is the first milestone (pre-)release of feral, a framework for building and deploying serverless functions with Cats Effect. It has been baking for a while and we are excited to make it generally available for you to try!
Arman Bilge (@armanbilge)





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


  2. Scala Times Issue #428

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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


  20. Scala Times Issue #410

    My Dos and Donts in sbt Build Definitions. Scala Chat: Hello Discord (So Long, Gitter). Smart constructors for case classes. Gallia: a library for data transformation. Sourcegraph: Precise Code Intelligence for Java, Scala, and Kotlin.


  21. Scala Times Issue #409

    ZIO environment: episode 3. Preparing Apache Kafka for Scala 3. How I Self-Published My First Technical Book. "Scala CLI" - Tool or Toy?. "Practical Functional Programming in Scala" Review.


  22. Scala Times Issue #408

    7 ZIO experts share why they choose ZIO. ENSIME: The Next Generation. Coding at 6am isn't fun. ScalaMatsuri CFP, March 19th - 20th, 2022, Online Event. TypeVille CP, April 20th - 23rd 2022.


  23. Scala Times Issue #407

    IntelliJ Scala Plugin 2021.3 Is Out!. Scala at Scale at Databricks. Akka Streams Backpressure. Zip and slide! (Advent of Code day 1). Ep 15: Advent of Code 2021 Day 1. Is it Traverse?.


  24. Scala Times Issue #406

    Security improvements in tapir 0.19. Retrying function calls in Scala. Parsing character encoding-dependent protocols with scodec in Scala. Introduction to ZIO. "Scala with Cats" Review.


  25. Scala Times Issue #405

    The programmer's brain in the lands of exploration and production. The Red Book - "Functional Programming in Scala" Review. Functional Scala, Dec 2nd - 3rd.


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.