Articles

Things written for various purposes.


Featured Articles

Haskell: Sourced Recursion Schemes

Up through the recursiverse

Haskell: Indexed Recursion Schemes

Finding your way back after a recursive descent into madness

Introducing: ParserKit

A parser-combinator library.

Blogs

Haskell: Sourced Recursion Schemes

Up through the recursiverse

Haskell: Indexed Recursion Schemes

Finding your way back after a recursive descent into madness

Haskell: Birecursion Schemes

Or: Recursion Schemes 2: Here We Go Again

Haskell: The Free Boolean Cube

An exploration of things beyond Free and Cofree.

ParserKit: Writing a JSON parser

Create a parser for reading JSON files.

ParserKit: Writing a math expression parser

Create a parser for performing simple math calculations.

ParserKit: Writing a CSV parser

Create a parser for reading CSV files.

ParserKit: Quickstart

Get started parsing quickly.

Introducing: ParserKit

A parser-combinator library.

Swift Functors

Exploring the functor hierarchy in Swift for great good.

SwiftUI: Pull-to-Refresh

Part of a series of blogs about Swift.

Swift: Task + DispatchTimeInterval

Improving Task.sleep for everyone.

Web page bloat

A rant about (the lack of) slim web pages.

42 milliseconds

An essay about relativity and its practical effects upon distributed computing.

Turing vs Lambda - Boolean Logic Circuits

A short essay about Turing completeness and implementing it in 3 different ways.

Post-digital computing

An essay about about the future of computing, what lies toward the horizon, and how to find out what is beyond.

Filesystem Skeumorphisms

A rant about the inadequacies of mixing UI and logic.

Source control in your app

A discussion about applying source-control techniques to application and server state.

Something is wrong in computing

An essay about the unstable state of computing, and how we might avoid the dangers lying therein.

How-to

How to set up an gitserver and website in 2022

A complete and thorough guide to setting up a push-to-deploy gitserver and website on Ubuntu using SSH, git, and NGINX. It covers all of the essentials, including how to set up basic security.

Parsing JSON in 38 lines of Haskell

We build a tiny javascript object notation parser, while still remaining RFC compliant and without losing readability.

Writing a Lambda Calculus interpreter in Haskell

We write a rather small lambda calculus expression parser, evaluator, and repl in Haskell.

Writing a Parser Combinator Library in Haskell

We write our own stripped-down version of the popular parsec library.