Planning Weekly Workouts in 100 lines of Haskell
A lightning post on logic programming in Haskell to construct a workout weekly schedule given the set of exercises, days and constraints.
I work at Well-Typed as part of the Glasgow Haskell Compiler Team. I've got a Master's degree from Faculdade de Ciências e Tecnologia in Lisbon -- the thesis was on type-checking linear types in GHC's Core and throughout its optimisation pipeline.
I try to write interdisciplinary articles, am a Haskell enthusiast and GHC contributor. Besides work, I'm developing a language to design distributed algorithms, a shader-centric and type-heavy 3d renderer / game engine, trying to get e-graphs into GHC, and recently have been working on a deck of cards to learn Japanese. You can find below my latests posts.
A lightning post on logic programming in Haskell to construct a workout weekly schedule given the set of exercises, days and constraints.
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.
Adding computed properties to Haskell record types -- probably a new Haskell anti-pattern!
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.
Improving GHC's configuration logic and cross-compilation support with the brand new ghc-toolchain
tool.
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.
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.
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.