Haskeller
frp-zoo. Comparing many FRP implementations by reimplementing the same toy app in each.
498hawk. Haskell text processor for the command-line
363git-slides. Text-based slides using vim and git.
157klister. an implementation of stuck macros
155category-syntax. do-notation for Category and "Arrow without arr"
63typelevel-rewrite-rules. rewrite rules for type-level equalities
62n-ary-functor. A single typeclass for Functor, Bifunctor, Trifunctor, etc.
42linear-examples. Example uses of linear types
42conway. Demonstrating comonad transformers.
36hyzzy. A framework for defining text adventures via Haskell files. Play by combining functions, not by guessing phrases.
32ludum-dare-31. The theme for LD31 was "Entire Game on One Screen"
27magic-typelevel-elem. Demonstrating how to make type families faster using typechecker plugins
20commutative. Using Haskell's type system to guarantee commutativity.
17cabal-rangefinder. A tool to fill in the version ranges in a cabal file.
17typechecker-combinators. Haskell
17laughable. Clowns to the left of me, jokers to the right
15mastering-haskell. The slides for my Packt course, "Mastering Haskell".
15surjective. An output coverage checker
11deploy-hint. Demonstrating that you don't need to install ghc in order to use the hint library.
11circular-sig. a twelf-like type-checker supporting recursive signatures
10giggles-is-you. A reimplementation of Baba is You in Haskell, for our weekly haskell-beginners presentations.
10objc2java. Convert pure ObjectiveC code to pure Java code, libraries be damned.
9strongly-typed-bound. My version of Kmett's "strongly typed bound for acowley" snippet.
9ludum-dare-35. The theme for LD35 was: "shapeshift"
8staged-diamond-calculus. a variant of Pfenning-Davies with Diamond instead of Box
8stm-variants. The STM API we know and love, but useable in more circumstances
7mcp-cli. a simple MCP server allowing VS Code to run a specific shell command without asking
7ludum-dare-34. The themes for LD34 were: "two button controls" and "growing"
6nominalize. Generate types using type-generic programming, retaining control over the names of the constructors and the fields.
6image-watcher. Display an image and update it when the file changes
6slides. A place to host my git-slides presentations
6acme-tiny-rules. a parody of Tiny Glade with inference rules instead of castles
6premonoidal. Agda encoding of premonoidal categories
5apecs-hint-demo. demonstrating how to use hint to dynamically modify the game world of an apecs-based game
5acme-circular-containers. Spineless containers which are fast to read but inefficient to update
4dot-utils. A set of small command-line tools for transforming GraphViz dot-files
4k-playground. for implementing toy languages using the K Framework
4jira-dependencies. from JIRA's .csv export to graphviz's dot format
4tarjan. an agda implementation of Tarjan's strongly connected components algorithm
3ludum-dare-44. The theme for LD44 was "Your life is currency"
3agda-playground. a series of ambitious experiments in the functional language / proof assistant Agda.
3worldly. based on Conor McBride's "Worldly Type Systems" talk
3trie-based-frp. An implementation of higher-order FRP based on shared tries instead of unsafePerformIO.
2ice-cream-privacy. Haskell
2directed-graph-ui. A tool for creating directed graphs.
1ludum-dare-43. Haskell
1contravariant-case. An API for Divisible and Decidable which looks like pattern-matching.
1lens-syntax. Pointful syntax for optic compositions
1haskell-code-explorer-bug. a minimal repro
1