Sep 24, 2016: 5:05 - 5:55pm

Hope is a Monad

Michael Sperber Active Group


What, in the end, distinguishes the functional programmer from the OO developer? Much effort is spent on arguing how FP is more efficient. More significant, however, is that functional programmers produce different models from their OO and relational counterparts, which enable more powerful software architecture. The talk traces this observation through 13 years of functional programming applied in industrial projects, in a variety of languages. I'll touch on projects in stage lighting (""stage lighting has algebraic structure""), financial derivatives (""market data is compositional""), semiconductor manufacturing (""hope is a monad"", ""scheduling is an arrow""), social pedagogy (""the GUI is a function""), and others, as time permits.

While a number of lessons from these experiences may seem obvious, they were hard-won:

  • purely functional is better
  • look for compositionality
  • monads can be found in unexpected places

(Not among them: Static types are better.)

Michael Sperber

Michael Sperber

Michael Sperber is CTO of Active Group in Filderstadt, Germany. He is a long-time visitor and contributor of ICFP and associated workshops, and former program chair of CUFP and Steering Committee member. (This year he is program chair of FARM.) He was the project editor of the R6RS standard for the Scheme Programming Language, and published numerous papers and books on functional programming. Mike has been applying functional programming to practical problems for about 20 years.