# algebraic data — RSS Amplifier

Recent posts from the 6 feeds in the RSS Amplifier directory that cover algebraic data.

Page: <https://rssamplifier.com/topics/algebraic-data>  
Feed: <https://rssamplifier.com/topics/algebraic-data.md>

---

## [The Message Arrived. Did the Operation Succeed?](https://mohamed.computer/posts/the-message-arrived/)

_2026-07-16 · Mohamed Attia's Macrocosm_

Prelude Every few years, I revisit one of my favorite papers END-TO-END ARGUMENTS IN SYSTEM DESIGN and this time I decided I will write an exposition of it to maybe inspire others to read it but also serve as a set of notes for my future self. Introduction Imagine we have an application that holds bank accounts for Alice and Bob. Alice wants to transfer $50 from her account to Bob&rsquo;s.

## [Removing recursion via explicit callstack simulation](https://jnkr.tech/blog/removing-recursion)

_2026-03-09 · Programming should be enjoyable_

I love recursion. As I’ve blogged about before , recursive implementations are usually the most maintainable way to solve inherently-recursive problems. That said, I do most of my programming in node.js and TypeScript, and I also love it when my code doesn’t overflow the stack. These things are sometimes in conflict. This post is about a technique for manually converting elegant, maintainable…

## [Continuation-Passing Style in TypeScript](https://jnkr.tech/blog/cps-in-ts)

_2025-11-15 · Programming should be enjoyable_

Continuation-passing style (CPS) is an occasionally very useful technique which is fairly niche for developers outside of functional programming languages. Many JavaScript developers are familiar with a similar technique in which callbacks are used to handle asynchronous operations in pre-promise-era node.js code, but CPS itself is more general. This post will introduce CPS and show how it can…

## [Recursive Problems Benefit from Recursive Solutions](https://jnkr.tech/blog/recursive-benefits-recursive)

_2025-11-14 · Programming should be enjoyable_

It seems to be common knowledge that any recursive function can be transformed into an iterative function. This post is an argument as to why you may not want to do that. Tree traversal One factor I consider when evaluating the quality of a solution is the degree to which its approach magnifies perturbations in requirements. As an example, consider a function which converts a binary tree to a…

## [Sanely-automatic derivation - or how type class derivation works and why everyone else is doing it wrong](https://kubuszok.com/2025/sanely-automatic-derivation/)

_2025-11-03 · kubuszok.com_

In Scala, we generate quite a lot of code. A lot of that involves the compiler generating so-called type class instances. This mechanism is quite widespread, yet, very few people actually understand it. As a result, we, the community, settled for suboptimal practices, resulting in suboptimal performance and user experience.

## [Alpha-beta pruning is just minimax in a lattice of clamping functions](https://blog.poisson.chat/posts/2025-09-01-alpha-beta.html)

_2025-09-01 · Lysxia · Lysxia's blog_

A lazy take on a classic game theory algorithm. Sip a caffè latte while thinking about lattices Haskell extensions and imports used in this post {-# LANGUAGE DataKinds, DeriveGeneric, DeriveTraversable, DerivingStrategies, GeneralizedNewtypeDeriving, RankNTypes, ScopedTypeVariables, StandaloneDeriving, TypeFamilies #-} import Data.Ord ( Down ( Down , getDown )) import Data.List.NonEmpty ( NonEmpty…

## [Tradeoffs of Highly-Expressive Types](https://jnkr.tech/blog/expressive-types-tradeoffs)

_2025-08-30 · Programming should be enjoyable_

I’ve had three different things on my mind recently: I read the excellent blog post “ Hyper-Typing ”. I watched a proponent of dynamically typed languages claim that state machines can’t be represented in statically typed languages. I’ve noticed a trend of posts on the r/typescript subreddit, in which posters make heavy usage of advanced TypeScript features in order to enforce invariants which…

## [Twentyseven 1.0.0](https://blog.poisson.chat/posts/2025-08-01-twentyseven.html)

_2025-08-01 · Lysxia · Lysxia's blog_

Twelve years of Haskell Twentyseven is a Rubik’s cube solver and one of my earliest projects in Haskell. The first commit dates from January 2014, and version 0.0.0 was uploaded on Hackage in March 2016. I first heard of Haskell in a course on lambda calculus in 2013. A programming language with lazy evaluation sounded like a crazy idea, so I gave it a try. Since then, I have kept writing in…

## [Please Use HTML data-attributes](https://mohamed.computer/posts/please-use-html-data-attributes/)

_2025-07-27 · Mohamed Attia's Macrocosm_

If you need to attach custom attributes to an HTMLElement that you can also access from JavaScript or CSS , please use data-attributes . HTML Let&rsquo;s say you have a very simple gallery that has image thumbnails and it displays the full image when you click on a thumbnail and also displays a caption for the image, we can define this gallery in HTML as follows: \< div id = 'gallery' \> \< img src =…

## [Unfolding trees breadth-first in Haskell](https://blog.poisson.chat/posts/2025-03-30-breadth-first-unfolds.html)

_2025-03-30 · Lysxia · Lysxia's blog_

To visit a tree or graph in breadth-first order, there are two main implementation approaches: queue-based or level-based. Our goal here is to develop a level-based approach where the levels of the breadth-first walk are constructed compositionally and dynamically . Compositionality means that for every node, its descendants—the other nodes reachable from it—are defined by composing the…

## [Countdown to Getting Paid (Sponsored)](https://crawlproof.com/a/JHs9cNsqsRe3)

_2025-03-29 · **Sponsored**_

Create a shareable wallet timer — deposits buy back time and pay debt down

## [Modeling in Scala, part 1: modeling your domain](https://kubuszok.com/2024/modeling-in-scala-part-1/)

_2024-12-12 · kubuszok.com_

Scala gives us a lot of power. We can easily model things with classes and OOP, we can pull in functional libraries and model everything with functions and values, we can implement a stateless monolith or a distributed system. And today we have a lot of books and tutorials that cover these topics: how to glue the code together to create a maintainable application with raw Futures/ Akka / Cats…

## [Unicode shenanigans: Martine Ã©crit en UTF-8](https://blog.poisson.chat/posts/2024-10-05-unicode-shenanigans.html)

_2024-10-05 · Lysxia · Lysxia's blog_

An old French meme On my feed aggregator haskell.pl-a.net , I occasionally saw posts with broken titles like this ( from ezyang’s blog ): Whatâ€™s different this time? LLM edition Yesterday I decided to do something about it. Locating the problem Tracing back where it came from, that title was sent already broken by Planet Haskell , which is itself a feed aggregator for blogs . The blog originally…

