Full-stack developer working with functional programming languages, based in Los Angeles, CA. I enjoy applying the techniques of pure functional programming to real-world problems.
Thermite is a library for developing reactive user interfaces with PureScript and React.
This teaching tool allows developers to step through the evaluation of a MicroKanren program, observing values as unifications happen, for debugging purposes.
This web application allows developers to try the PureScript programming language without installing the compiler. It compiles the user's code on the server, and executes it in an iframe.
I wrote this blog series to highlight some of the activity in the PureScript developer community.
Many of my PureScript articles can be found on the PureScript website.
PureScript's type system has grown gradually over the past four years, driven by the need for solutions to real-world problems and also experimentation. This talk is an overview of the implementation of some of the type system features which were inspired by Haskell, and also some novel features such as row polymorphism.
The Profunctor type class provides an alternative presentation of lenses and prisms. In this talk, I gave an introduction to profunctor optics and examples.
The Damas-Hindley-Milner type system is a classical system for the first-order polymorphic lambda calculus, and the ML family of programming languages. This paper introduces Algorithm W, a simple algorithm for type reconstruction in the DHM type system. I'll walk through the main results of the paper, and compare the DHM type system with other more modern systems.