Blog posts I've published so far

Calling Haskell from Swift

Crossing the language boundary between Haskell and Swift. This is the second part of an in-depth guide into developing native applications using Haskell with Swift.

Computed Properties for Haskell Records

Adding computed properties to Haskell record types -- probably a new Haskell anti-pattern!

Creating a macOS app with Haskell and Swift

First part of an in-depth guide into developing a native macOS application using Haskell with Swift and SwiftUI. This part covers the set-up required to call Haskell functions from Swift in an XCode project using SwiftUI.

Introducing ghc-toolchain to GHC

Improving GHC's configuration logic and cross-compilation support with the brand new ghc-toolchain tool.

Writing prettier Haskell with Unicode Syntax and Vim

A short write-up on combining digraphs, a feature built-in to vim, and Haskell's UnicodeSyntax extension, to easily write beautiful Haskell programs with unicode symbols.

Monthly Update on a Haskell Game Engine

I've been working the past month or two in a shader-centric, type-heavy 3d-renderer/game engine, written in Haskell. In this post I present some of the current implementation details and pictures of the multiple achievements and progress done so far.

Equality Saturation in Haskell, a tutorial

A first tutorial for equality saturation with hegg, a library of e-graphs and fast equality saturation written in Haskell. This tutorial implements a symbolic manipulation library using hegg.

Graphical Applications in Haskell with FRP and Reflex

This is the second of two parts on creating interactive graphical applications with functional programming, in Haskell; this second part, using Functional Reactive Programming through reflex, and how it can be used to build a DOM-based interactive UI.

Graphical Applications in Haskell with MVC and Gloss

This is the first of two parts on creating interactive graphical applications with functional programming, in Haskell; this first part, using the Model-View-Controller pattern in its functional flavour through gloss. The MVC pattern is common accross all languages and goes by many names. For example, it's how smartphone applications are structured in Android Studio.

Haskell 102 Lecture Notes

Lecture notes from an introductory class on Haskell

Haskell 101 Lecture Notes

Lecture notes from an introductory class on Haskell