Kevin Hammond will be giving a talk at Lambda Days 2017. He will be speaking about Hylomorphisms.
PurelyFunctional.tv: How did you get into Functional Programming?
Kevin Hammond: During my PhD. I started off by looking at logic languages, but decided that functional languages had a number of advantages, including general practicality. I then went to Glasgow to write a Haskell compiler with Phil Wadler and Simon Peyton Jones.
PF.tv: What is your talk about?
KH: The talk is about how to find structures within programs that can be turned into parallel implementations. We have discovered that there are very general structures ("hylomorphisms") that capture a lot of interesting parallel patterns and captured these structures in types. This lets us transform sequential programs into parallel ones, or take a parallel program and give a different implementation, simply by changing the type.
PF.tv: Who is your talk for?
KH: The talk is the research track, so it has some new research ideas that will appeal to functional programming researchers, but it also shows that functional programming lets you easily change program structures to give.
PF.tv: What do you hope people will take away from the talk?
KH: That there are fundamental structures hidden in normal programs, and that these help us do interesting things, including automatically changing between parallel forms. There might even be a Terry Pratchett reference.
Also, that functional concepts can help every programmer write better code.
PF.tv: What concepts do you recommend people be familiar with to maximize their experience with the talk?
KH: There is new technical content and notation, but I'll try to introduce everything that's important. Knowing that code can be separated into type and implementation will be helpful, but I expect everyone here will know that already!
f : Type f = ...
PF.tv: What resources are available for people who want to study up before the talk?
KH: There are online descriptions of hylomorphisms, and you can download our ICFP paper from the ACM Digital Library (if you go via the right link, it should be possible to do this for free).
PF.tv: Where can people follow you online?
KH: Twitter: @khstandrews
PF.tv: Are there any projects you'd like people to be aware of? How can people help out?
PF.tv: Where do you see the state of functional programming in 10 years?
KH: Taking over the world 🙂
PF.tv: If functional programming were a superhero, what superpower would it have?
KH: Cleansing. Removing all extraneous details to reveal true inner beauty.