Full-stack developer working with functional programming languages, living in Los Angeles, CA. I enjoy applying the techniques of pure functional programming to real-world problems.
This teaching tool allows developers to step through the evaluation of a MicroKanren program, observing values as unifications happen, for debugging purposes.
I wrote this blog series to highlight some of the activity in the PureScript developer community.
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.
Thermite is a library for developing reactive user interfaces with PureScript and React.
Many of my PureScript articles can be found on the PureScript website.
Thermite is a purely functional interface to the React library, written in PureScript. It is based on two ideas - profunctor optics for component composition, and coroutines for composition of asynchronous computations. In this talk, I will give an overview of these ideas, and show how they can be combined into an elegant solution to the problem of designing reusable UI components.
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.
Halogen is a new library for developing reactive front-end web applications in PureScript, based on a simple HTML templating language and the concept of signal functions. I will give a brief overview of the ideas behind the library, and we will be lead naturally from signals to signal functions as we try to solve some simple problems.
React has popularized the idea of user interfaces as pure functions of application state, an approach which is perfectly suited for a language like PureScript. In this 90 minute workshop, we solved problems in an application built with React and PureScript.