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.

Haskell

Megaparsec Industrial-strength monadic parser combinator library
Ormolu A formatter for Haskell source code
Req 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
Path IO Operations on files and directories with typed paths
FLAC Complete high-level Haskell binding to libFLAC
Stache Mustache templates for Haskell
Hspec Megaparsec Utility functions for testing Megaparsec parsers with Hspec
Forma Parse and validate forms in JSON format
Identicon Flexible generation of identicons in Haskell
HTagLib Haskell bindings for TagLib, an audio meta-data library
WAVE Work with WAVE and RF64 files in Haskell
LAME Fairly complete high-level Haskell binding to LAME encoder
Juicy Pixels extra Efficiently scale, crop, flip images with JuicyPixels
Pagination Framework-agnostic pagination boilerplate
Req conduit Conduit utilities that work with Req
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
Tagged identity Trivial monad transformer that allows identical monad stacks have different types

MMark

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 Easily introduce native modal editing of your own design
Typit Typing game for Emacs similar to the tests on 10 fast fingers
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

Other

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