How to make a better polymorphic clone in modern C++

This short port is an answer to the blog post of @JoBoccara on how to make a polymorphic clone in modern C++ in the presence of smart pointers. The goal of this post is to explain in which aspects the solution of the OP is not really satisfying, and to provide what I believe to... Continue Reading →

How the List Monad helped me better understand Non-deterministic Polynomial time complexity

I have always been puzzled with the definition of NP: Non-deterministic Polynomial time complexity. A problem is in NP if it can be solved by an algorithm that runs in polynomial time on a non-deterministic Turing Machine, a computer that can "guess" which path to take toward the right answer when given a choice. I... Continue Reading →

A follow up of the study of 4 Money class designs: why not having currencies as type parameters?

In the previous post, we went through a comparative study of 4 different designs for a Money class that represents an amount of money. To do so, the Money class groups an amount with a currency (its unit) and implements a safe arithmetic which takes into account the currencies. This article received a quite positive... Continue Reading →

A study of 4 Money class designs, featuring Martin Fowler, Kent Beck and Ward Cunningham implementations.

Following a TDD training that could have gone better, I started to read the Test Driven Development: by example book (by Kent Beck). It offers a perspective on TDD that is far from being dogmatic. It is a really good back and I highly encourage you to read it. But this post is not about... Continue Reading →

Thoughts on a Software Craftsmanship training that could have gone better.

This post is about a story that happened a few months ago. Back then, I attended a three days Software Craftsmanship training on Test Driven Development. More accurately, it was about practicing TDD to gain back control on a legacy C++ code base. Trainings, just as code, are never perfect. Trainers often have to take... Continue Reading →

Implementing Clojure-like Transducers in Idris: advanced transducers

In the previous post, we started the implementation of a small transducer library for Idris. We went over the main concepts, defined types for each of them, and implemented reduce and transduce. We ended the post by building basic transducers such as mapping or filtering. In today's post, we will continue where we left off.... Continue Reading →

Create a website or blog at

Up ↑

%d bloggers like this: