
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 can’t decide whether a.size or size(a) is more correct when getting the length of an array. While writing Leaf I have a recurrent feeling

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

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

Are our discussions about errors focusing on the right part of the problem? We tend to argue about what exceptions mean, or how return values

Virtual functions are a great feature, but they have a rather severe limitation. They can only be implemented by extending the definition of all classes

I just read the documentation for std::result in Rust. A friend had pointed it out and said it left a sour taste in his mouth,

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 —

I recently fixed a defect that I felt the compiler could have caught. Some initialization code was not being run as I was calling a