This is a small project that I banged out initially in the course of a single day but it is definitely the one which has been the most useful to people and collected the most stars and contributions of my projects on Github. After a few years all the usage of it despite its long-standing deficiencies prompted a comprehensive overhaul and re-kindled my interest in Elixir in general. This adds a task to Mix (the Elixir build tool) which helps one get started with using the Erlang Dialyzer in Elixir projects.
This library provides a rich API for working with LevelDB databases in Haskell. This was the first Haskell library that I developed and released and it probably shows to some extent, but it has seen the most usage based on Hackage download statistics.
Provides service and node discovery for Cloud Haskell applications using a Zookeeper cluster for name registration, lookups and leader election. The core functionality this offers is the ability to have global singleton processes, which are automatically replaced from a pool of candidates on termination. I’m really proud of this implementation but haven’t used it in a real project and it has not seen much interest from the community.
This has been the vehicle I’ve used to learn Haskell but its not going to help anyone else. The idea is to make it easy to build a network of self-supporting application agent processes - agents that will talk to each other to distribute and share work as well as provide redundancy without any external dependencies or lots of configuration. I’ve done a lot of grinding on this code-base - writing the same few thousand lines over and over yet it still has a few design flaws, lacks critical features and is not ready for release. I’ve taken a break from it but could possibly pick it up again some day.