Join Newsletter

Combinators Revisited

YOW! Lambda Jam 2018

Back in the 80's, one approach to compiling functional programming languages was to compile down to combinators such as SKI. John Hughes' initial work on supercombinators changed the way folks thought about compiling functional languages and caused folks to turn away from this approach by customizing the combinator set to your particular program. Then Lennart Augustsson's work on implementing supercombinators more efficiently sealed the deal. GHC's compilation technique is a descendant of this school of thought.

But what did we give up to get to where we are? Let's explore a bit of alternate history.

Edward Kmett

Research Engineer

Machine Intelligence Research Institute

United States

Edward spent most of his adult life trying to build reusable code in imperative languages before realizing he was building castles in sand. He converted to Haskell in 2006 while searching for better building materials. He now chairs the Haskell core libraries committee, collaborates with hundreds of other developers on over 250 projects on github, works on ways to try to better scale functional programming, logic programming and formal methods at the Machine Intelligence Research Institute, and is obsessed with finding better tools so that seven years from now he won’t be stuck solving the same problems with the same tools he was stuck using seven years ago.