A free, once-weekly Scala news flash. Easy to unsubscribe. Goes out every Thursday.
June 20th, 2024, ISSUE 537

READING

A Logic Circuit Simulator with Cats-Actors

Cats-Actors is a reimagining of the actor paradigm model married with the functional paradigm.
Mark Galea (@mmgalea)
Magda Stożek - My Scala Story

Today in our special #scalaversary series, Magda Stożek, an experienced Software Developer working at SoftwareMill, shares her Scala Story!
Magda Stożek (@magdastozek)

EVENTS

Lambda World. Oct 2nd - 4th, Cadiz, Spain

Don't miss he largest Functional programming event in South Europe!
Lambda World (@lambda_world)
ScalaBridge London Jun 20th, 2024

Let's meet at 6pm! ScalaBridge London is a community run group for learning and improving at programming. We always run material for new programmers and each term we choose a new topic for more experienced developers. This term that topic is Cats Effects.
ScalaBridge (@ScalaBridge)

VIDEOS

Armored type safety with Iron

When designing an application, we often end up with domain-specific types, that all behold constraints that we try to enforce as much as possible : an age is positive, a delivery date can’t be in the past, etc. Modelling the data right is a part of the success of Scala and functional programming in general, but it also brings either boilerplate (we have to do again and again validation), or rely purely on conventions. But there is hope. Meet the Iron library.
Raphaël Lemaitre
Presentations from ScalaMatsuri 2024

All talks recorded and collected into a playlist, enjoy!
ScalaMatsuri (@ScalaMatsuri)
Do I miss writing Scala?

I've had the please of working with Scala for many years, as well as other main JVM languages like Java and Kotlin. In this talk, I'd like to reflect on these experiences, what I like/dislike about Scala (and other languages), how certain decisions have affected projects, how these languages have changed over time and how they address different problems. Join me for a fun and possibly opinionated talk about the state of Scala and other JVM languages.
Mehmet Akif Tütüncü
Tapir Tutorial - part 3: Using JSON bodies

In this episode we'll see how to integrate with JSON: parse incoming HTTP requests and serialise outgoing HTTP responses. Along with generating documentation, in a type-safe, programmer-friendly way!
Adam Warski (@adamwarski)
Looking beyond the scope: Scala application from an external lens

In the dynamic landscape of Scala application development, the tendency to focus solely on internal intricacies often obscures a crucial aspect - how the application is perceived from the outside. By observing from a distance, we gain insights into how to enhance resilience, reliability, and overall performance, influencing how we implement our applications. Questions arise: What's the startup time? Can I safely run 2 or more instances? How do I know if it works as expected? Can monitoring/tracing help? Does it shut down gracefully?
Paweł Kołodziejczyk

RELEASES

sus4s 0.0.3

Another added piece: Now, we can race suspended functions! And we have a cool logo, too!
sus4s contributors
Play 2.9.4

This patch release addresses a couple of bugs and incompatibilities, and upgrades dependencies. We recommend upgrading as soon as possible.
Play contributors
Play 3.0.4

Just like in the 2.9 branch, this patch release addresses a couple of bugs and upgrades dependencies.
Play contributrs
Typo 0.20.0

Typo is not just another source code generator; it's your trusted partner in database development. By harnessing the power of PostgreSQL schema definitions and your SQL code, Typo creates a seamless bridge between your database and your Scala code, all while putting type-safety and developer experience (DX) front and center.
Øyvind Raddum Berg (@olvindberg)
Symbolism

A general mechanism to implement symbolic operators in Scala.
Jon Pretty (@propensive)





  1. Scala Times Issue #554

    SoftwareMill Open Source Bounties. Scala: a mature open-source project. Folding Cheat Sheet #8 - Folding with Monoids . Simple Contract-First Applications. Scalar 2025 extends call for papers!.


  2. Scala Times Issue #553

    Direct-style concurrent streaming. Open com-lihaoyi issue bounties. Scala Project Maintenance Survey. Scalar 2025 extends call for papers!. Scala.IO, Nov 7th-8th, Paris.


  3. Scala Times Issue #552

    Optimal Scalafmt configuration using Genetic Algorithms. Cancellable HTTP requests via Scala's Tapir. Game of Life with Scala.js and Webassembly. Scala without effect systems. The Martin Odersky way.. Scalar 2025 Early Birds!.


  4. Scala Times Issue #551

    Functional Programming in Scala - Edu Plugin. Inline your boilerplate - harnessing Scala 3 metaprogramming without macros. Scalar 2025 Early Birds!. Lambda World, Oct 2nd - 4th, Cadiz, Spain. Art of Scala, Oct 10th, Warsaw, Poland.


  5. Scala Times Issue #550

    Autowire: Zero-Cost Dependency Injection. Another bunch of com.lihaoyi Mill issue bounties. Comparison of Kyo and traditional effects. Scala & Akka: How to secure your code. Fun with Types: All Types of Physics Computations.


  6. Scala Times Issue #549

    Capabilities for Control. Scalar 2025 Call for Papers is open!. Unison Forall, Sept 20th, remote conference. Lambda World. Oct 2nd - 4th, Cadiz, Spain. Call for Speakers - Art of Scala, Oct 10th, Warsaw, Poland.


  7. Scala Times Issue #548

    Perfect Tab Completions. David's programming examples knowledge base. Writing an Android app with Scala.js. Unison Forall, Sept 20th, remote conference. Lambda World. Oct 2nd - 4th, Cadiz, Spain.


  8. Scala Times Issue #547

    Streaming Hash Computations. Launch Scala, faster than Native. Distributed locks in Kubernetes with Scala. The Future Software Engineer. Lambda World. Oct 2nd - 4th, Cadiz, Spain.


  9. Scala Times Issue #546

    Upcoming Changes to Givens in Scala 3.7. Unexpected Scala Functions: groupMap. Lambda World. Oct 2nd - 4th, Cadiz, Spain. Call for Speakers - Art of Scala, Oct 10th, Warsaw, Poland. Scala.IO, Nov 7th-8th, Paris.


  10. Scala Times Issue #545

    ZIO-like dependency injection using implicit resolution. The Mechanics of Mitigation. Publishing test traces to Grafana using otel4s and weaver. Announcing Decisions4s: When Ifs Are Not Enough. State of structural typing support in Scala 3.3.0.


  11. Scala Times Issue #544

    Direct-style Bootzooka: 2024 update | SoftwareMill. The Tri-Z Architecture: a Pattern for Layering ZIO Applications in Scala. The Error Management Manifesto. Migrating to Safety. Benchmarking database sharding in Akka | @lightbend.


  12. Scala Times Issue #543

    Lambda World. Oct 2nd - 4th, Cadiz, Spain. Metals v1.3.4 - Thallium | Metals.


  13. Scala Times Issue #542

    Effective Error Handling. Developer Ecosystem Survey 2024. Pseudorandom Acts of Kindness. Scala 3 Metaprogramming Learning Resources. Scala to WebAssembly: How and Why.


  14. Scala Times Issue #541

    Tapir documentation improvements. Checked exceptions: fixed!. Use cases for Scala. ScalaWAW #33 - beach party! Jul 25th. Lambda World. Oct 2nd - 4th, Cadiz, Spain.


  15. Scala Times Issue #540

    PureConfig with Scala 3 - Tutorial. Developer Experience in Open Source Software. "Learn Functional Programming The Fast Way!" PDF is free. ScalaBridge London @ SiriusXM!, Jul 18th. ScalaWAW #33 - beach party! Jul 25th.


  16. Scala Times Issue #539

    YAML as a valid Scala 3 code. ExecutionContext.parasitic and Friends. ScalaBridge London @ SiriusXM!, Jul 18th. Lambda World. Oct 2nd - 4th, Cadiz, Spain. Faster and less mysterious sbt builds with Develocity.


  17. Scala Times Issue #538

    Make Impossible States Unrepresentable: Network Edition!. Ten things I like about Scala 3. Compiling Bad Code. The ZIO 2 “mental model”. JetBrains course: Functional Programming in Scala.


  18. Scala Times Issue #537

    A Logic Circuit Simulator with Cats-Actors. Magda Stożek - My Scala Story. Lambda World. Oct 2nd - 4th, Cadiz, Spain. ScalaBridge London Jun 20th, 2024. Armored type safety with Iron.


  19. Scala Times Issue #536

    Scala 3 improvements in Metals (and hopefully, IntelliJ IDEA). Purify Your Tests III: Lean, Mean Testing Machine. 12 years of the com.lihaoyi Scala Platform. Scala Is Not Going Anywhere. OpenTelemetry With Scala Futures.


  20. Scala Times Issue #535

    GraphQL in Scala: Role-Based Access Control. WebSocket chat using structured concurrency, Ox & Tapir. Tapir tutorials, part 1. Scala 2.13 LTS planning. A Sighting of filterA in Typelevel Rite of Passage.


  21. Scala Times Issue #534

    Lagom is approaching end of life: possible migration paths. WebSockets in Scala, Part 2: Integrating Redis and PostgreSQL. Scala service combined with PostgreSQL, Flyway, Doobie, Ciris, IO(Cats Effects), Http4s…. Akka 24.05: More Security. More Performance. More Efficiency.. Forking and Interruption in ZIO.


  22. Scala Times Issue #533

    Apache Pekko becomes a Top-Level Project. Scala Meetup at Evolution. Purify Your Tests: 2 Parametric, 2 Declarative. Introducing TARP Stack – Tapir, React and PostgreSQL. IO effect tracking using Ox.


  23. Scala Times Issue #532

    Duchess at Scala.io. Purify Your Tests. Tuning ZIO for high performance. JetBrains Joins the Scala Center Advisory Board!. Introducing com-lihaoyi Issue Bounties.


  24. Scala Times Issue #531

    Que es un Higher-Kinded Type de Scala?. ScalaMatsuri, June 7th-9th, Tokyo, Japan. Custom-compile errors with a venegance. Data Engineering at Netflix using Apache Spark and Flink.


  25. Scala Times Issue #530

    Direct-style Effects Explained. How to build AI apps with Scala 3 & Besom. Spec-first and code-first, hand in hand. ScalaMatsuri, June 7th-9th, Tokyo, Japan. Direct Style Scala Stack - An Experiment.


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 by SoftwareMill.
We are hiring.
And taking on projects.