Iron updates: turning opaque types into value objects
The next Iron release brings very important updates. There will be a tooling to turn opaque types into value objects (like newtype) with optional validation.
The next Iron release brings very important updates. There will be a tooling to turn opaque types into value objects (like newtype) with optional validation.
FS2 Kafka is a great library that simplifies reasoning around Kafka by representing event flow as fs2 streams. In that part we play around with notion of Pipe, move error processing to explicit flow, and test Kafka with Weaver.
FS2 Kafka is a great library that simplifies reasoning around Kafka by representing event flow as fs2 streams. In that part we’ll take a look how to encode ADTs, tackle re-processing of events, and how to commit batches of offsets.
FS2 Kafka is a great library that simplifies reasoning around Kafka by representing event flow as fs2 streams. The note is devoted to step-by-step deserialization with careful error management.
Selection functions is topic you can find mostly in research papers. My intention is helping with first steps. The notion itself is simple but implementation shows unobvious patterns.
Implementation of Y Combinator from scratch (in Scala). It helps to understand structure of recursions. In the post we’ll take a look how to approach recursive functions without self-reference.
Is Reader is just a synonym to function?
Explore Cats Semigroupal, Apply, Applicative: product, ap, mapN and friends
Explore Cats Functor. Understanding of “contramap” function
Explore Cats Writer. Monad to bring description with any computation unit.
Explore Cats Eq, Partial Order, Order typeclasses. Notion of equality and why greatest element of set is not equal to maximal.
Today I want to describe my journey of writing a purely functional implementation for solving 2-satisfiability problem. Essentially it is a problem of assignment of boolean values to the given boolean formula. It is the special case of common bool...
Application dependency management in Scala: DI, ZIO and Monad Transformers