READING
Scala Meetup at Evolution
A few weeks ago, Functional Software organized a Scala Meetup together with Evolution.
Functional Software Stockholm
|
Purify Your Tests: 2 Parametric, 2 Declarative
In the last part we learned how to purify our tests using type parameters. In this and following parts we'll see some further benefits of adding type parameters this way.
Daniel Beskin
|
IO effect tracking using Ox
The broader goal of the IO capability feature is for method signatures to be truthful and specify the possible side effects, failure modes, and timing of methods in a reasonably precise and practical way.
Adam Warski (@adamwarski)
|
|
|
VIDEOS
Uncovering the benefits and challenges of ZIO2 and Scala 3 at Wolt
Wolt has a vibrant Scala community where software engineers use a variety of patterns and frameworks to build services. One common pattern is using ZIO2 and Scala 3 to build small, simple, and could-native microservices quickly. In this talk, Thomas will go through the benefits and challenges of this approach as well as how the approach fits into Wolt's infrastructure and co-exists with other approaches.
Thomas Harper
|
Explore your Smithy models with the CLI
This video outlines the capabilities of the Smithy CLI, and goes in depth on using it to get information about your shapes with selectors and the model AST.
Jakub Kozłowski (@kubukoz)
|
Exploring build caching: a practical overview
Recording from Scalar Conference 2024. In this talk, we will start with the basics, understanding what build caching is and why it can be a bit tricky to handle in real projects. Looking at a quick history of build caching in Scala, we will see how it has evolved and how you can leverage existing build caching capabilities in sbt today. I’ll share some practical insights on making the most of build caching when using sbt. Finally, we’ll look at what the future holds for build caching with sbt 1 and 2 and see how you can prepare for it.
Martin Duhem (@mnduhem)
|
The debatably Free monad
The purpose of this talk is to re-invent `Free` from first principles. Along the way, we'll touch on a variety of useful topics: defunctionalisation, interpretation, and how to figure out how to implement thorny functions by merely looking at them as paths in a graph.
Nicolas Rinaudo (@NicolasRinaudo)
|
|
RELEASES
Akka 24.05
Key ares: Zero Trust, Security and Compliance; Performance through Database sharding, Java 21 is now certified, Akka Edge Rust and enhancements for Edge use cases.
Lightbend (@lightbend)
|
munit 1.0.0
This was long time coming and finally we are out of milestones and ready for a new chapter of munit. New features: async support for fixtures, introduce "strict equality" mode for asserts, make printers more easily configurable, diff module extracted to a separate module.
munit contributors
|
chimney 1.0.0
Release 1.0.0 is the culmination of 7 years of development. Congratulations!
chimney contributors
|
sttp-openai 0.2.0
New client version switches to the v2 OpenAI API.
SoftwareMill (@softwaremill)
|
Metals 1.3.1 - Thallium
Resolve classpath lazily in Bazel, replace slowTask with LSP progress, support for starting Metals for a single file without a workspace.
Metals contributors
|
Soundness: Wisteria
Wisteria is a generic macro for automatic materialization of typeclasses for datatypes composed from product types (e.g. case classes) and coproduct types (e.g. enums). It supports recursively-defined datatypes out-of-the-box, and incurs no significant time-penalty during compilation.
Jon Pretty (@propensive)
|
neotype 0.2.13
Now with support for Caliban and Chimney.
Pierre Ricadat (@ghostdogpr)
|
kyo 0.10.0
This version introduces new major features and important fixes!
kyo contributors
|
urlopt4s
Allows you to remove ad/tracking query params from a given URL in Scala.
Daniil Sivak
|
sttp-oauth2 0.19.0
The project is now under the wings of Polyvariant, congrats!
Polyvariant
|
virgil-kyo
Virgil is a functional Cassandra client built using Kyo, Magnolia and the Datastax 4.x Java drivers for Scala 3.
Calvin Lee Fernandes (@cal_fern)
|
sus4s
A Direct-Style Scala Wrapper Around the Structural Concurrency of Project Loom.
Riccardo Cardin (@riccardo_cardin)
|
Soundness: Quantitative
Quantitative represents physical quantities with a generic Quantity type, an opaque alias of Double, which statically encodes the value's units in its type parameter. This provides all the desirable homogeneity constraints when combining quantities, with the performance of Doubles, and without compromising on intuitive syntax for arithmetic operations. Quantities can be multiplied and divided arbitrarily, with new units computed by the compiler, and checked for consistency in additions and subtractions.
Jon Pretty (@propensive)
|
|
|
|