
Sadly, I must say goodbye to Leaf (my programming language)
This is hard to write, or rather, it’s a hard decision to make. After investing many years on Leaf — a programming language, a major

This is hard to write, or rather, it’s a hard decision to make. After investing many years on Leaf — a programming language, a major

Read Update #1 Syntax Error I addressed two problems since last update: A bad error message, and an image loading error. The bad error

I’ve started a journey to make Leaf more visual. You may have seen some of my videos about complexity, complete with shaky mouse drawn

While writing some error handling helpers, during my algorithm stream, I encountered a defect. It’s a tricky one dealing with the passing of shared arguments

Yesterday I finished a rather simple Kata from Codewars: the sum of a sequence of numbers. It was straight forward to implement, but I felt

Error handling is hard, and it’s made harder by a rich error hierarchy. Programs that successfully handle errors tend to have only a couple of

Finally, a big step for Leaf: something that could be called an actual program. Over the weekend I finished a program that loads a file,

As types are a keystone in Leaf, working with them must be fluid and simple. I recently improved this area by adding named constructors and

I recently ported Leaf from Linux to OSX. I figured it was about time to start making it cross-platform. The goal is to get it

Optional values are one of the fundamental extrinsic types in Leaf, as are shared values. Originally optional values were used just like regular values, dereferenced