20-21 November 2014

15Hatfields, London, UK

Advanced functional programming in industry

Session Title

Advanced functional programming in industry

Session Type Experience Report
Duration 60 minutes
Session Description

Advanced functional programming, including type-indexed data structures, type-level functions, kind polymorphism, and generic programming, is now commonplace in academia. In this experience report, I will explain why it's time to bring its advantages to industry too. Through my experience with Chordify, a web start-up that brings chord recognition to the masses, I have explored the benefits of exposing open-source, cutting-edge research to a wider audience.

I will share several insights gained from my experience, namely with regards to: interaction between a functional backend and a PHP/JS frontend; handling millions of visits per month with minimal hassle; the importance of design and user-interface; and the logistics of an internet start-up.


José Pedro Magalhães (Chordify)

After completing his PhD at the University of Utrecht, José Pedro Magalhães has pursued both an academic career at the University of Oxford, and an entrepreneurial path, as a co-founder and backend developer at Chordify, an internet start-up that attracts over 100,000 visits a day.

He has previously worked as an intern in industrial research environments at CERN (Geneva), Philips Research (Eindhoven), and Microsoft Research (Cambridge).

Over the past decade, he has co-authored dozens of scientific publications, contributed to numerous Haskell libraries, and implemented his research ideas in the most important Haskell compiler (GHC).

Support FP Days 2014

In return for promoting FP Days 2014 to members of your user group, we offer a 10% discount on all tickets to group members.

We'll also help to promote your group by featuring it here on the FP Days website.

If you run a user group and you'd like more information on supporting FP Days 2014, please get in touch!

Contact Cara

Cara Hanman

FP Days 2014 Session Types

Need help planning which sessions to attend? We've provided a breakdown of our various session types below.

Case Study/Experience Report

A presentation and discussion of real-life (not theoretical) experiences of the application (or mis-application) of service design techniques. Case studies and experience reports include some discussion of lessons learned and an indication of how novel the work is.


Participants learn a new approach, tool or technology through using it to solve one or more practical exercises. Any software/hardware requirements are disclosed in the session description.


A session focused around some specific tool, technique or issue. Primarily led by the speaker, tutorials usually include some elements of interactivity or individual / group exercise.


An in-depth working session on a specific topic. May include paper presentations.