Tagged “fp”
-
Direct-style Effects Explained
Direct-style effects, also known as algebraic effects and effect handlers, are the next big thing in programming languages. At the same time I see some confusion about direct-style effects. In this post I want to address this confusion by explaining the what, the why, and the how of direct-style effects using a Scala 3 implementation as an example.
scala fp effects io substitution -
Essential Effects book updated!
Our book "Essential Effects" is now updated to use Cats Effect 3.
scala fp effects book -
Understanding Virtual Machine Dispatch through Duality
Through the lens of duality, different VM dispatch designs can be seen as variations on an underlying common structure.
scala fp -
Functional Programming is Based
A few functional programming principles give a systematic and repeatable process for developing code. In this post I show this process using a simple example of summing the elements of a list.
scala fp -
Fire-and-Forget in Cats Effect
How do you "fire-and-forget" in the world of the `IO` monad and Cats Effect?
scala fp effects asynchronous cats -
Recent and Upcoming Public Appearances
Information and links about recent (and upcoming!) talks and interviews.
scala fp effects talks podcast conferences -
Concurrent state machines
How to build a concurrent state machine to model complex behaviors.
scala fp fsm concurrency state -
What is an Effect?
We often use the term effect when talking about the behavior of our code. But what is an effect? Can we talk about effects in precise ways, in order to write better programs that we can better understand?
scala fp effects io substitution -
Scoring Ten-pin Bowling with Algebraic Data and Finite State Machines
Implementing the rules for scoring ten-pin bowling turns into an exercise in algebraic data types and finite state machines.
scala fp typescript rust -
What Functional Programming Is, What it Isn't, and Why it Matters
The core premise of functional programming, in my opinion, is that local reasoning and composition make for better code. Here I discuss what these terms mean and the benefits they bring.
scala fp typescript
See all tags.