Phil Freeman

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.


PureScript Compiler

I am the original designer of the PureScript programming language and compiler. I implemented many of the compiler features and core libraries, and continue to work on new features.

PureScript By Example

I wrote this book as an introduction to functional programming for Javascript developers. It covers many core FP concepts, providing real-world examples as motivation, including callback-based programming, canvas graphics and DOM templating.


This teaching tool allows developers to step through the evaluation of a MicroKanren program, observing values as unifications happen, for debugging purposes.

24 Days of PureScript

I wrote this blog series to highlight some of the activity in the PureScript developer community.

Try PureScript!

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.


Halogen is a library for developing reactive user interfaces in PureScript, built on top of virtual-dom and a signal function library, which I developed with SlamData.


Personal Blog

Articles on Haskell, C#, type theory and functional programming can be found at my blog.

Upcoming Talks

None planned.

Previous Talks

Papers We Love

Principal Type Schemes for Functional Programs

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.

BayHac 2015

Reactive UIs with PureScript and Halogen

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.

LambdaConf 2015

Purely-Functional Web Apps using React and PureScript

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.

LambdaConf 2014

Learn Front-End Programming with PureScript

I led a 90-minute workshop in which attendees learned to solve common problems in web programming using the PureScript programming language.

© Phil Freeman 2015