Leaf: Simple type conversions

One of the problems with C++ is the way it handles type conversion. It inherits a lot of implicit conversion from C and then adds

What is a System Language?

Not all languages are made with the same purpose in mind. When it comes to designing a new language like Leaf, it’s important to choose

Divorcing a value from its name

Understanding “values” is perhaps the most critical part of understanding programming. We are inundated with a variety of terms like “by value”, “by reference”, “member

How to handle an error

Error handling should be simple. It can become mired in complexity, but I don’t believe it has to be that way. If we stay focused

What is a closure?

Closures have been around a long time yet have experienced a resurgence in the last decade. They were first implemented in the functional language Scheme

A trail through custom languages

How often does one need to write a custom language? Many projects often shun them, but I think domain specific languages are important. They offer

The syntax of a conditional

Conditionals are a key construct in programming: from the simple if statement, to loops and switches, and even to dynamic mapping. The essence of program