"The Rule of Least Surprise should not be interpreted as a call for mechanical conservatism in design."

My blog is about programming language design and the Nim programming language in particular.

List of Articles

2026

S-Expressions
The unreasonable effectiveness of S-Expressions.

2025

Nimony
Nimony is a new compiler paving the way to Nim 3.

2020

Goto based Exceptions
The alternative exception handling implementation arrived.
Write tracking for Nim -- part 2
This blog post explains Nim's --experimental:strictFuncs mode.

2019

Quirky Exceptions
Musings about an alternative exception handling strategy.
Owned Refs
Musings about ownership in Nim.
V1 is here
Personal words about version 1.

2017

Nim without GC
Exploring how Nim would look like without a garbage collector.
Karax
An article showing how Nim can be used to develop simple and efficient single page applications via Nim's JS backend.

2016

Nim and Perl
An article showing how Nim's metaprogramming features can even model Perl's features.

2013

Write tracking for Nim
This blog post is about Nim's novel approach to deal with immutability.
A new concurrency system for Nim -- part 1
In this blog post I describe the basic ideas behind Nim's new concurrency model.
A new concurrency system for Nim -- part 2
In part 2 things get more formal. But in the end you will be rewarded by a nice real world example.