Professional Page
Most of my open source work has been to facilitate blockchain development in Haskell and PureScript for applications targeting Ethereum or Cosmos. I have also done some general library development in the PureScript language, especially in the area of embedding geospatial visualizations in frontend applications.
ℓ-adic is a project which compiles Haskell to artithmetic constraints compatible with zero knowledge protocols.
The PureScript Web3 suite is composed of three libraries to facilitate Ethereum development in PureScript:
Chanterelle is a framework and CLI tool for writing, testing, and managing smart contracts on Ethereum. You can read more about the motivation in this initial release post.
Kepler is a Haskell language implementation of an ABCI server and a framework for developing Cosmos/Tendermint backed applications in Haskell. The documentation site has a complete breakdown of the project as well an extensive example application. The initial development of Kepler was supported by an ICF grant.
I am a primary contributer to the hs-web3 library, the official library for the Ethereum and Polkodot Web3 APIs, as well as supporting libraries defining things like cryptographic operations, code generation from smart contract ABIs, and an IPFS client library.
purescript-deck-gl is an exhaustive PureScript wrapper of Uber’s deck.gl library for high-performance rendering of geospatial visualizations in the browser. As deck.gl is primarily used through the React component interface, I also developed a purescript-react-map-gl wrapper library to allow for easy embedding in purescript-react based applications.
purescript-servant is an implementaion in PureScript of a subset of the servant type-level web DSL library. It allows you to specify client libraries in PureScript in a servant like fashion.