A recollection of all the articles posted on, grouped into categories.


Open recursion

How to combine the effectiveness of dynamic programming while preserving the declarative nature of a recurrence formulas:


Recursion schemes

How to decouple the traversal of an Abstract Syntax Tree from the operations to perform on it, to build shorter, more maintainable and more composable DSLs:



How to improve your testing by thinking in terms of invariants, properties, and finding good ways to encode them into tests:


Web game programming

A tutorial on how to write simple but complete (with complex game logic and artificial intelligence) Web games using Clojurescript:


Open source libraries

Articles linked to the few open source libraries that I published on my GitHub. More details can be found on the page dedicated to projects.


Architecture and Design

Random thoughts and experimentations on the complex endeavour of designing and architecting software:


Dependent typing

Exploring the world of dependent typing in Idris, its capabilities, and the opportunities it brings in terms of design and type checking:


LISP meta-programming for C++ developers series

How supporting reflection, being able to manipulate the AST of the language inside the language, and perform any computation at compile time can greatly improve and simplify your code.


Event reports

Some reports on the events I was lucky enough to attend (such as Meetups, trainings or conferences) and their most interesting aspects.


Fooling around with algorithms

Playing with interesting code puzzle to discover some interesting aspects and guide-lines around programming and software engineering.



The remaining articles, including answers to other articles or talk, and including completely delirious random thoughts on software.


Create a website or blog at

Up ↑

%d bloggers like this: