Open source software

Here I list all currently active OSS projects I have authored and/or maintain. If you wish to contact me regarding a project, use GitHub issues.


Megaparsec Industrial-strength monadic parser combinator library
Ormolu A formatter for Haskell source code
Req An HTTP client library
Zip Efficient library for manipulating zip archives
Modern URI Modern library for working with URIs
GHC syntax highlighter Syntax highlighter for Haskell using the lexer of GHC
Parser combinators Lightweight package providing commonly useful parser combinators
Text metrics Calculate various string metrics efficiently in Haskell
Forma Parse and validate forms in JSON format
Path IO Operations on files and directories with typed paths
FLAC Complete high-level Haskell binding to libFLAC
Stache Mustache templates for Haskell
HTagLib Haskell bindings for TagLib, an audio meta-data library
Hspec Megaparsec Utility functions for testing Megaparsec parsers with Hspec
Identicon Flexible generation of identicons in Haskell
Juicy Pixels extra Efficiently scale, crop, flip images with JuicyPixels
Pagination Framework-agnostic pagination boilerplate
WAVE Work with WAVE and RF64 files in Haskell
Tagged identity Trivial monad transformer that allows identical monad stacks have different types
Req conduit Conduit utilities that work with the Req HTTP client library
LAME A high-level Haskell binding to the LAME encoder
FLAC picture Support for writing picture to FLAC metadata blocks with JuicyPixels
CUE Sheet Support for construction, rendering, and parsing of CUE sheets
HTML entity map Map from HTML5 entity names to the corresponding Unicode text


MMark Strict markdown processor for writers
MMark CLI Command line interface to the MMark markdown processor
MMark extensions Commonly useful extensions for the MMark markdown processor
Flycheck support for MMark Flycheck checker for the MMark markdown processor

Emacs Lisp

Modalka Modal editing your way
Typit Typing game for Emacs similar to the tests on 10 fast fingers
Nushell mode Major mode for Nushell scripts
Ace popup menu Replace GUI popup menu in Emacs with something more efficient
Fix word Transform words in Emacs (upcase, downcase, capitalize, etc.)
Cyphejor Shorten major mode names using user-defined rules
Kill or bury alive Precise control over buffer killing in Emacs
Char menu Create your own menu for fast insertion of arbitrary symbols
Zzz to char Fancy replacement for zap-to-char in Emacs
MMT Missing macro tools for Emacs Lisp
Avy menu Library providing avy-powered popup menu for Emacs
Fix input Make input methods play nicely with alternative keyboard layout


Ormolu action Ormolu GitHub action
Rules Haskell Rules for building Haskell code using Bazel