
Working with types and named constructors in Leaf
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

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

Language support for caching sucks. Despite an ever present need to cache data and calculations most languages require the programmer to do all the work.

I came upon a problem with bitwise complement (logical not): it isn’t safe. It’s nothing new, but it really registered while implementing the logical operations

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

“Reference counting is slower than garbage collection”, a claim often made in the discussion of memory management. I heard it again recently when discussing Leaf;

I’ve added the ability to type a variable based on an expression. The type_infer type operator resolves to the type of the provided expression —

Unexpectedly I needed to add support for variable argument functions to Leaf long before I intended to. I just wanted to print out a value,

In the world of parametric programming our languages often seem quite varied and unique. At the core however are two primary approaches, let’s call them

Parsing is where the story of compilation begins. While it may mean something wonderful to us, our source code is merely a stream of character

If we scratch the surface of a language a bit we find a secret, rich world of type information. Our compilers know more about our