raichoo will be speaking at Lambda World in September 2016.
PurelyFunctional.tv: How did you get into functional programming?
raichoo: I was drawn into it pretty slowly. I first came into contact with FP at university where we were introduced to the university's own Scheme dialect. I was fascinated by the elegance but it seemed quite obscure. Some time after that I was hanging out with a friend and we were hacking on our own projects. When I was blankly staring at me editor for quite a while he asked me what was wrong and I was muttering "Segmentation fault..." he said: "Ha, I'm using Haskell, I don't have problems like that anymore." I was using C++ for around 15 years back then was and suffering from some sort of "programming language crisis", so I though: "Hey, maybe I should give this style of programming a go." It pretty much went "downhill" from there and I haven't look back since. 🙂 That was 8 years ago.
PF.tv: Very briefly, what is your talk about?
raichoo: I want to describe what laziness is, how to think about it, why we would want it as a default and how GHC helps us to generate efficient code dispite the overhead that is being introduced by it.
PF.tv: What do you hope people will take away from the talk?
raichoo: I want to give people a deeper understanding of what laziness means and why it is useful as a default. There have been some rather heated discussions about it in the last few years and to this day Haskell is still the only "production" programming language that is lazy by default. Even within the community strict vs. non-strict semantics is still a hot topic. I want to give people the ability to reason about laziness in their production software as well as an understanding of how GHC helps them to get the results they are striving for by better understanding the operational semantics of GHC Haskell. I also hope that the audience will gain a better understanding of how space leaks come into being and how to prevent them.
PF.tv: What concepts do you recommend people be familiar with to maximize their experience with the talk?
raichoo: You should be somewhat familiar with Haskell of course. Understanding lambda calculus as well as partial orders and monotone functions might also be beneficial since I'll be talking about denotational semantics for a little. I usually try to keep my talks pretty self contained and explain most of these concepts as we go along.
PF.tv: What resources are available for people who want to study up before the talk?
raichoo: Some of the material in my talk are drawn from the book "Lambda-calculus, Combinators and Functional Programming" by Revesz. The "Make a fast curry" paper as well as resources about the Spineless Tagless G-Machine (short: STG) are also good resources. I only have around 30 minutes time so of course these sources will go way deeper than the talk.
PF.tv: Where can people follow you online?
raichoo: I mostly ramble on twitter as @raichoo.
PF.tv: Are there any projects you'd like people to be aware of? How can people help out?
raichoo: I have a little project running to improve the Haskell experience on Vim and Neovim, so if you are using those you might want to take a look at https://github.com/neovimhaskell.
PF.tv: Where do you see the state of functional programming in 10 years?
raichoo: The state of functional programming in 10 years? Is that a trick question? 🙂 To be honest, I don't know. It would be nice to see more adoption of FP happening. Let's see where the journey takes us.
PF.tv: If functional programming were a superhero, what superpower would it have?
raichoo: I imagine FP to be somewhat like Spock, to me that's close enough to a superhero.