Adam WarskiLambdaConf 2017 Speaker Interview
Adam Warski LambdaConf 2017 Interview
Adam Warski will be giving a talk at LambdaConf 2017. He will be speaking about The Origins of Free.
PurelyFunctional.tv: How did you get into Functional Programming?
Adam Warski: At the beginning of my first university year we could make a choice between taking "Introduction to programming" using an imperative language or a functional one. As I knew some Pascal and C at the time (or so I thought at least), I decided to take the mysteriously sounding functional path. That turned out to be a very good choice, I stuck with FP through the rest of my studies, first learning Scheme, then writing quite a lot of Ocaml.
Despite that backgroud, at the beginning of my professional career I was a Java developer, and remained in the "imperative land" for quite some time. But a couple of years ago I switched to Scala and FP came back to me that way.
PF.tv: What is your talk about?
AW: The talk shows how to create an arbitrary free structure - given a set of symbols that we can use and equational constraints. One example of such a structure is the Free Monad, which recently got quite a lot of publicity, at least in the Scala world.
The presentation contains quite a lot of maths, and not a lot of code, but I’m aiming to make it as accessible as possible, introducing all of the necessary concepts with examples. We start with the concept of an algebra and universal algebra to move to a description on how to create a free algebra.
PF.tv: Who is your talk for?
AW: I think the talk should be interesting for anybody who is intruiged by why "Free Monads" are "Free" and what does this term mean in a broader sense.
PF.tv: What do you hope people will take away from the talk?
AW: My main goals are to provide a "constructive" intuition of what "Free" means, and show that it is a general construction, which can be applied to many different structures, not only monads.
Further, maybe the talk could help in demystifying the "Free Monad", which I think might sound a bit scary (if not, even better!), while in fact it is a simple data structure, with very straightforward operations. I think people might sometimes look for a "deeper meaning" which just isn't there.
PF.tv: What concepts do you recommend people be familiar with to maximize their experience with the talk?
AW: While not necessary, it would be useful if people have seen some free monad code examples before, along with some motivation on why you would want to use free monads in the first place. I don't spend a lot of time introducing free monads in the talk (as that would be a spearate talk).
But then, it's not a must, hopefully you can also apply the intuititions I'll try to show if you only learn about free monads after the talk.
PF.tv: What resources are available for people who want to study up before the talk?
AW: There's plenty of materials available, both for Haskell and Scala (and other languages probably too). Simply googling "free monad [your language]" should give you a great starting point.
PF.tv: Where can people follow you online?
AW: I'm occasionally tweeting. I also contribute to or lead some open-source projects (see softwaremill.com/open-source).
PF.tv: Are there any projects you'd like people to be aware of? How can people help out?
AW: Well, all of my open-source ones, of course! 😉 But other than that, just getting involved in whatever is your interest is probably the best idea.
PF.tv: Where do you see the state of functional programming in 10 years?
AW: As I think the functional approach really helps in improving code quality, and in effect the overall quality of software systems, I hope FP will become much more mainstream than it is today. However, I think there's still a lot of place for evolution and finding a "middle ground" approach. FP isn't the answer to everything, in many cases the "best solution" would probably be a combination of functional / object-oriented / imperative / etc. techniques. That's also why I think Scala is a such an interesting language - it combines the paradigms mentioned above in a unique way.
PF.tv: If functional programming were a superhero, what superpower would it have?
AW: Being able to describe what it will do and how will it change the world with extreme precision, without actually doing anything.
This interview is not sponsored by nor affiliated with the conference or its organizers. It is in no way official. It is simply curated and organized public information about the conference.
- Harold Carr LambdaConf 2017 Interview
- Arseniy Zhizhelev LambdaConf 2017 Interview
- # Kjetil Valle and Bendik Solheim LambdaConf 2017 Interview
- Daniel Beskin LambdaConf 2017 Interview
- John Azariah LambdaConf 2017 Interview
- Reuben Cummings LambdaConf 2017 Interview
- Nikola Adamus LambdaConf 2017 Interview
- Fred Cecilia LambdaConf 2017 Interview
- Riccardo Terrell LambdaConf 2017 Interview
- Aldric Giacomoni LambdaConf 2017 Interview