Image logo Bob conference 2017.

Tutorial: 11:45-13:15 (English)

Introduction to Web Programming in PureScript

PureScript is a language for functional programming in the browser designed for low adoption barriers. It looks very much like somebody took static types and explicit effects out of Haskell and imposed them on javascript. And in fact, this is how Purescript was born.

In the short 90 minutes we have, I will cover the basics of PureScript for those who are not familiar with functional programming, and then walk you through a small web app with purescript-halogen, a UI library that adheres to the Functional Reactive Programming (FRP) design. I hope to have time to demonstrate how purescript comfortably integrates with any existing JavaScript context, which makes it a great tool for incremental adoption.


If you want to code along, you should set up the development environment and get the hello-world app running prior to your participation in the tutorial. I will have instructions on that up by Feb’17 in the following github repository:

Knowledge of PureScript is not required, but a certain aptitude in at least one other programming language will be helpful. Some knowledge of the JavaScript world will help you getting the code to run in the browser somewhat more smoothly.

Presentation language will be English, but I am happy to discuss your questions in German. This is joint work with Matthias Fischmann.

Michael Karg

During the studies for his master’s degree in computer science and general linguistics at Göttingen University (Germany), Michael came in contact with lambda calculus and the Haskell programming language. He kept on using it professionally and privately ever since graduation.

His fascination with functional programming (and type systems) lies not only in how directly the theoretical, academic discourse about it can be applied to every-day code, but also in how reliably it improves software quality in several regards. For two years now he has been working on building production-grade software for the web in Haskell and PureScript at Symbolian GmbH.