Dunstan Landscapes

Horizon - Leaning Rock on the Dunstan Range

Horizon - Leaning Rock on the Dunstan Range


Wanaka Landscapes

Lake Wanaka

Lake Wanaka

Matukituki Valley

Abstractions for Logic

Programming languages provide abstractions which allow the expression of logic. This gives us, the Alchemist programmer, the ability to recite a few incantations on our keyboards and imbue the programs we are writing with the apparent ability to make decisions. Without logic computer programs would …


Implementing General Computation

In A Simple Computation Engine with F# we created a programming language which computes basic math expressions such as (+ (+ 3 5) (- 10 6 0)). One limitation was that the only computations it could run were predefined by the programming language, specifically + and -. Here we evolve the language …


A Simple Computation Engine in F#

I’m in one of those reflective periods where I’m catching up on books I should have read earlier; Thomas Pynchon, Neal Stephenson, and the like. In Software Engineering one of those books is Structure and Interpretation of Computer Programs (SICP). SICP is known for teaching computing …