A free, once-weekly Scala news flash. Easy to unsubscribe. Goes out every Thursday.
February 9th, 2023, ISSUE 468


Prototype Loom-based concurrency API for Scala

Given Scala's more advanced type system and other features, we should be able to provide a better developer experience. Below is a prototype of what a Loom-based concurrency API for Scala might look like.
Adam Warski (@adamwarski)
Why Learn Contextual Abstractions in Scala 3 First

This blog introduces contextual abstractions, first from a Scala 3 point of view, profiting from the API overhaul. Then we will drive home the intuition of contextual abstractions with some code examples, and conclude with the relationship with Scala 2, thus using the design principles of the Scala 3 contextual abstractions when working on Scala 2 codebases to avoid pitfalls and detect code smells, and also to make it easier to digest.
Esteban Marin (@Esteban08240516)

Algebraic Effects for Scala 3Algebraic Effects for Scala 3
10 years of Scala.js

Read the history and plans for the future.
Sébastien Doeraene (@sjrdoeraene)


ZIO From Scratch (Part 4)

In this episode, we continue our ZIO From Scratch Series, looking at the implementation of uninterruptible regions and finalizers.
Adam Fraser (@adamfraser)
ZIO From Scratch (Final)

In this episode, we wrap up our ZIO from scratch series looking at implementing some advanced operators to control interruptibility.
Adam Fraser (@adamfraser)
Parallelizing Complex Data Pipelines Using ZIO With Spark

In this talk, Kunal presents this use case and how it’s solved using ZIO (a functional library for concurrent and asynchronous programming in Scala) and Spark to build a complex analytics pipeline.
Kunal Tiwary
Binary Serialization Of Evolving Data Types

Introducing a new serialization library. In this talk, Daniel discusses why he created it, how it works, and what problems it solves. A new version is set to be released later this year based on ZIO Schema and with better performance.
Daniel Vigovszky (@dvigovszky)
Peeking Inside the Engine of ZIO SQL by

In this talk, Jaro takes a look at a few tricks that ZIO SQL uses - ZIO Schema's reified optics, Implicits, and Macros - which allows the library to offer 100% type-safe DSL while keeping boilerplate to a minimum.
Jaroslav Regec (@jaro_regec)
The Best Scala Libraries I Use in Every Project

This is a collection of Scala utility libraries you can and should use in almost any Scala project. You really should know about them especially if you are new to Scala.
DevInsideYou (@DevInsideYou)


Exclusive Scalar offer for Scala Times subscribers

Exclusive for email subscribers: 10 discount tickets just released. Hurry and join Scalar with code: ScalaTimes10 for 10% off
SoftwareMill (@scalarconf)
Scala Days, June 4th-7th (Seattle, USA), Sept 11th - 12th (Madrid, Spain)

This year’s Scala Days marks the conference’s return since it was put on hold in 2020. This year we’re happy to host in Seattle, WA, in the US, and Madrid, Spain.
Scala Days (@scaladays)
10% discount for the Scala 3 Metaprogramming (ALL-NEW) course for our readers!

Use code SCALATIMES10off and enjoy the course!
John A. De Goes (@jdegoes)
10% discount for Functional Scala, Nov 30th - Dec 1st, London

Use code ScalaTimesFS2023 and get our exclusive discount!
Ziverge (@zivergetech)


circe 0.14.4

A few improvements plus a bunch of dependency updates.
circe contributors

Scala 3 to GLSL transpiler library.
ultraviolet contributors
Railway Scala support

Railway is the cloud that takes the complexity out of shipping software. We bumped Nixpacks to v.1.3.1 with some nice new features, highlighted by a new Scala provider.
Raliway contributors
OpenAI Scala Client is Out

The very first Scala client for OpenAI API.
Peter Banda (@0xbnd)
ZIO 2.0.8

A new version with a couple of bugfixes.
ZIO contributors

  1. Scala Times Issue #475

    Actor implementation experiments with ZIO. Vote for Scala support in JetBrains Fleet IDE. 10+ Scala Concepts you Need to Know. Call For Proposals - ZIO WORLD 2023 . 10% discount for Functional Scala, Nov 30th - Dec 1st, London.

  2. Scala Times Issue #474

    RFC-1: sbt cache ideas. Functional Programming anti-patterns in Scala. Why use Scala for building backend applications?. Pragmatic DDD in Scala with ZIO. Call For Proposals - ZIO WORLD 2023 .

  3. Scala Times Issue #473

    Enum serialization in Scala. The official Scala programming language Mastodon account. Functional Programming is Based. Scala is Ready to Power the Future of Financial Services Today. VS Code Profile for Scala.

  4. Scala Times Issue #472

    Contribution Equals Impact. Scala Center's five-year impact report. ZIO Streaming Applications, Transformation, and Error Handling. Scala case class comparison using diffx. Proxy large messages via S3 with pass4s.

  5. Scala Times Issue #471

    A solid checklist for configuring new Scala projects. Coding Adventures with Party Parrot. Scala Center Is Accepted as a Mentor Organization for GSoC 2023!. Scala 3's New Compile-Time Features. Exclusive Scalar offer for Scala Times subscribers.

  6. Scala Times Issue #470

    Kubernetes and the JVM. Exploring Scala CLI  -  the new scala runner. An incomplete guide to Scala 3 macros and Multi-stage programming. Web Scraping with Scala. Cross build anything with Bazel.

  7. Scala Times Issue #469

    Performance tips for IntelliJ Scala Plugin. Introduction to Bazel for Scala developers. Gradle Inc. Acquires Triplequote to Expand Developer Productivity Solutions Footprint. Concise enumeration in Scala. Akka Streams - Working with Stage Actors.

  8. Scala Times Issue #468

    Prototype Loom-based concurrency API for Scala. Why Learn Contextual Abstractions in Scala 3 First. 10 years of Scala.js. ZIO From Scratch (Part 4). ZIO From Scratch (Final).

  9. Scala Times Issue #467

    Scala Center Roadmap for 2023 and Beyond. How to use a Rust lib inside the Scala app. Scalar 2023, March 23rd-24th, Warsaw, Poland.

  10. Scala Times Issue #466

    Pub/Sub with Scala. 6 Tips for Scala Adoption. Implicit parameters when to use them? Part 2. Call for Scala GSoC 2023 projects!. Scalar 2023, March 23rd-24th, Warsaw, Poland.

  11. Scala Times Issue #465

    Deploy http4s on your domain with fly.io. Early adventures in ZIO land. Implicit parameters when to use them? Part 1. Tour of Scala. Sttp4: improving the developer experience.

  12. Scala Times Issue #464

    Scala CLI Tutorial: Creating a CLI Sudoku Solver. Scalar 2023, March 23rd-24th, Warsaw, Poland. NEScala 2023 Call to Action.

  13. Scala Times Issue #463

    Universally Unique Sortable Identifier - ULID. Compile time validation using inline modifier in Scala 3. Thank you for taking part in Advent of Code 2022!. Nix Flake for Scala - a Nix Introduction, Overview and Demo. Scalar 2023, March 23rd-24th, Warsaw, Poland.

  14. Scala Times Issue #462

    Support Scala Center. Dancing with ZIO. Scalar 2023, March 23rd-24th, Warsaw, Poland. NEScala 2023 Call to Action. CFP: ScalaMatsuri (Online event, April 15th-16th 2023).

  15. Scala Times Issue #461

    Python and ZIO crushed my egotism. Fast Scala 3 parsing with tree-sitter. Scalar 2023, March 23rd-24th, Warsaw, Poland. NEScala 2023 Call to Action. CFP: ScalaMatsuri (Online event, April 15th-16th 2023).

  16. Scala Times Issue #460

    Fabric: A New JSON Library. Benchmarking Kafka vs Akka Brokerless Pub/Sub. Scala Developer Survey 2022 Results. State of Scala survey 2022. Integration testing using docker containers in Scala.

  17. Scala Times Issue #459

    IntelliJ Scala Plugin 2022.3. Scala Center Advent of Code. Use Typescript libraries with Scala.js! - ScalablyTyped. The fastest and safest JSON parser and serializer for Scala. Lichess on Scala 3.

  18. Scala Times Issue #458

    Grenoble Scala User Group (France). Getting started with Scala.js, Laminar and ScalablyTyped. Finagle Tutorial: Twitter's Scala RPC Library. Scalar 2023, March 23rd-24th, Warsaw, Poland. NEScala 2023 Call to Action.

  19. Scala Times Issue #457

    Native Config Lands in ZIO 2.0 . Automatic parallelisation of for-comprehensions in Scala 3. The Journey of a Dotty Diagnostic. The Magic of Lazy Lists. Scala 3: the missing compiler plugin.

  20. Scala Times Issue #456

    Scala Toolkit makes Scala powerful straight out of the box. Scala 3 migration: 7 benefits that outweigh the risks. Google Summer of Code 2022: How It Was. Things that are things, but not other things. Function reuse is just wishful thinking.

  21. Scala Times Issue #455

    Integrating Java APIs with Cats Effect. Speed up ZIOs with memoization. Archive your toots to Hugo. Software Engineering Radio: on Scala and Tapir . Top 10 Skills to Learn to Be a Scala Developer.

  22. Scala Times Issue #454

    I ❤️ Scala's Community. Immutable Collections should be Your Default. Data Transformations in Scala with Gallia: Version 0.4.0 Is Out. Quine 1.4.0: Scale, Stability, Supernode Mitigation. Functional Scala 2022, December 1st-2nd, London.

  23. Scala Times Issue #453

    Scala for Game Server Development. Pekko accepted into the Apache Incubator. On Scala 3's Optional Braces. ZIO HTTP Tutorial, Part 2 - Security, CORS, CSRF, Authentication, Websockets. Where to find a Remote Scala Job?.

  24. Scala Times Issue #452

    The case against Effect Systems (e.g., the IO data type). Cut the Technobabble. Build Web Apps with ZIO 2.0, October 17th-19th. ZIO Hackathon, October 27th-28th, New York, USA & Online. Functional Scala 2022, December 1st-2nd, London.

  25. Scala Times Issue #451

    Support for XML request responses in sttp and tapir. Scala Center Activity Report for 2022 Q3. SBT in Scala (part 3). ZIO API Design Techniques. Migrating From Akka to ZIO Panel Discussion.

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.