Open Source Projects

Professional

  1. purescript-logoot-core – an implementation of the algorithm described in Logoot: A Scalable Optimistic Replication Algorithm for Collaborative Editing on P2P Networks, the algorithm powering collaborative editing behind Juspay’s editing software.
  2. purescript-node-websocket – bindings to the Node.js websocket library, used to build websocket servers that transmit messages between clients in collaborative editors. With the approach outlined here, uses functional dependencies to provide type-safe polymorphic event handling.
  3. purescript-sequelize – bindings to the Node.js ORM library. Includes a DSL based on free monads, as well as a default interpreter.

Personal

  1. purescript-transformerless – Common monads and comonads that achieve much better performance by eliding unnecessary typeclass dictionaries used in the “transformers” equivalents.
  2. purescript-optlicative – An applicative parser for command line arguments/options that uses RowToList for handling commands.
  3. literate-purescript – A transpiler that enables literate programming for Purescript (or any language via command-line flags). Source code is written where the code (instead of the comments, as is the norm) is marked as special, and comments are not. Used to write and document simple-recursion.
  4. SandScript, a Lisp-like language including an interpreter, REPL and web-based REPL.
  5. clicker-buillder – An incremental/idle clicking game, in the spirit of Cookie Clicker. Makes heavy use of lenses to access and update game state. Written using Halogen, a purely functional counterpart to tools like React.
  6. More available on GitHub