PurelyFunctional.tv: How did you get into Functional Programming?
Annette Bieniusa: In my first year introductory programming course, I was introduced to Haskell but didn’t really appreciate the power and beauty of this language.
Only when I started my PhD, I started to appreciate the idea of declarative programming. Since then I used a variety of functional languages in my research projects.
PF.tv: What is your talk about?
AB: Imagine you have to program a case management system where users provide data, e.g. a conference registration site, tax forms, or a web survey.
Often programmers define a number of (sub-)tasks that correspond to single forms and fix the order in which these forms are processed. This restricts the order in which the user can process the work flow.
In my talk, I will show how you can use a computational abstraction, called arrows, to model dynamic work flows that provide a much better user experience.
PF.tv: Who is your talk for?
AB: Everyone who wants to see how computational abstractions such as arrows can be used to simplify the programming of complex systems.
PF.tv: What do you hope people will take away from the talk?
AB: Functional programming provides a lot of powerful abstractions. When working on complex systems, you should take a step back and peek into this "tool box".
PF.tv: What concepts do you recommend people be familiar with to maximize their experience with the talk?
AB: A basic knowledge of functional programming will be helpful, some of the examples will show Haskell code.
PF.tv: What resources are available for people who want to study up before the talk?
AB: A draft paper is available here: https://softech.informatik.uni-kl.de/homepage/staff/AnnetteBieniusa/paper/workflows.pdf
There is also a great paper „Generalizing Monads to Arrows“ which discusses computational abstractions called monads and arrows by John Hughes [free print: http://www.cse.chalmers.se/~rjmh/Papers/arrows.pdf]
PF.tv: Where can people follow you online?
PF.tv: Are there any projects you'd like people to be aware of? How can people help out?
AB: Antidote (http://www.antidotedb.com) is a novel planet-scale, available, transactional database. We have a great team with people from all over Europe who are excited about functional programming - Antidote is all written Erlang, but has interfaces to a number of different languages.
We are looking for people interested in using Antidote in their projects or companies as well as develops who want to help us evolving the system.
PF.tv: Where do you see the state of functional programming in 10 years?
AB: The last years we already started to see functional abstractions entering imperative and object-oriented programming languages. I firmly believe that this trend will continue and gain more momentum. Within 10 years, lambdas will be everywhere. (Ok, maybe not in C….)
PF.tv: If functional programming were a superhero, what superpower would it have?
AB: The power of abstraction!