A Progression of Purity
An examination of the implications of function types in different languages.
Functional Refactoring
An exploration of code written in familiar imperative programming patterns, and refactored using a counterpart functional programming pattern.
Progressions of Concision
A contrasting look at the complexity of implementing data structures in different languages.
Specified Versioning
A guide to choosing version numbers for software projects that designate tests as specification.
Notes on Nix
Some notes on the Nix package manager, language, and ecosystem.
An introduction to the utility of parametric polymorphism.
Notes on JavaScript
Some notes on the Scala language, libraries, and ecosystem.
Effect Systems
An exploration of effect systems in Scala.
Notes on Standard ML
Some notes on the SML language.
Programming Exercises
Some programming exercises that have helped me keep sharp over the years.
Notes on Scala
Some notes on the Scala language, libraries, and ecosystem.
Delimited Continuations
An introduction to delimited continuations in Scala.
Functional Programming in C
Not because we should, but because we can.
Type Classes
An exploration of type classes in Scala.
Reference Architectures
A reference for common patterns in software and data.
Barebones Spring MVC
A distillation of Java Web application development using the Spring MVC framework.