Writing a strongly typed flip function in TypeScript I've talked about flip functions before. At the request of a reader, it's time to explore a more robust, strongly typed version. Let's dive in.
Understanding a catamorphism (by writing a simple one) A lot of the time, people haven't heard of catamorphisms, or misunderstand what it is. Let's make it simple, and better yet, let's write one on our own!
Understanding isomorphisms by writing some in TypeScript I have mentioned isomorphisms before, but left it at a high level. Is there only one isomorphism from a type to another? How do we write them? Time to dig in.
Why my functions are usually curried Most functions I write are curried. Some people are put off by its unfamiliarity, while others love it. Are you scared? Let's unmask the spooky ghost and see it for what it is, scooby-doo style.
Abstractions, composition, and modularity A lot of the time, code is about sharing ideas, in addition to solving problems. In code, ideas are most often expressed as abstractions. And solving a problem is usually building up a solution using several small ideas put together. Interested?
On the ordering of function arguments A lot of people think I nitpick when I talk about the order of arguments in a function. Let's try to put an end to that!
Implementing a custom collection type in clojure — the leftist heap, a persistent priority queue While I’m usually very happy with the powerful abstractions in clojure, what happens when we want more? How do these hold up? Let’s find…
Generating tickets for tambola — or bingo, or housie, or whatever Recently, I’ve been fiddling with clojure and having some fun. It has some pretty powerful abstractions that allow neatly expressing ideas…
Stop breaking your head — Refactor your cycle (app) into replaceable, reusable spare parts now In a previous post, we were introduced to the Recall app that was built with Cycle.js. A couple of people were interested to know how to…