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

READING

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

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

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

VIDEOS

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)

EVENTS

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)

RELEASES

circe 0.14.4

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

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 #484

    Google Summer of Code 2023 Timeline. Scala 3 Enums. On the road to Scala 3. Encoding Base58: Understanding and implementing in Scala. Teach Your Web API To Speak Loud And Clear CLI!.


  2. Scala Times Issue #483

    A Splendid Scala Journey. From spring boot to ZIO. Two More Old Cents on Scala 3 Migration. Functional Design with Scala 3, May 29th-30th. 10% discount for LambdaConf, Sept 16th-19th, Boulder, Colorado.


  3. Scala Times Issue #482

    The Scala 3 compatibility story. The RedMonk Programming Language Rankings: January 2023. Akka: Enabling the Cloud to Edge Continuum. Writing a GitHub Action with Scala.js. Chain of responsability with Scala partial functions.


  4. Scala Times Issue #481

    Scala and Kotlin Under One Roof. Intermediate's guide to derivations in Scala: Magnolia. Replacing sbt with scala-cli in a simple project. Scala Server Security with Http4s: CORS and CSRF. Art of Scala, May 25th, Warsaw.


  5. Scala Times Issue #480

    More than just HelloWorld.json in sttp & upickle. Single-File JVM Apps: Rapid Development. Single-File JVM Apps Pt. 2: AWS Lambda Simplified. Mastering SBT: Tips and Tricks for Using Not-So-Common Features. Accumulate errors in Scala with typelevel cats.


  6. Scala Times Issue #479

    Kotlin Coroutines to Cats-Effect. Build your vocabulary with Scala affixes. Scala.js Interoperability with TypeScript/JavaScript. Introduction to Scala Development using VS Code. Call For Proposals - ZIO WORLD 2023 .


  7. Scala Times Issue #478

    Concurrency with Cats Effect. Using Vulcan Codecs with Kafka Java APIs. Scala Center Activity Report for 2023 Q1. Are you sure your Scala 3 opaque types don’t instantiate?. Underrated Scala Features and Hidden Gems in the Standard Library.


  8. Scala Times Issue #477

    Good practices for schema evolution with Protobuf using ScalaPB and fs2grpc. New Scala Build Tool. March 2023 - Scala Tooling Summit. Conferences are BACK! (Scalar Conf 2023 recap). Direct Style Scala.


  9. Scala Times Issue #476

    ZIO SQL: Type-safe SQL for ZIO applications. Go-like channels using project Loom and Scala. Functional Error Handling in Scala. Top 10 pattern matching tips in Scala. Programming in Scala: Carbon Footprint.


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


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


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


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


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


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


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


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


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


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


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


  21. Scala Times Issue #464

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


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


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


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


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


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.