Martin Kavalar Curry On 2017 Interview

Martin Kavalar will be giving a talk at Curry On 2017. His talk is called Making Science Reproducible with Functional Programming Concepts.

Follow him on his Homepage, GitHub and Twitter. How did you get into Functional Programming?

Martin Kavalar: My first functional language was Erlang. Back in 2007, I started an online traditional German card game with a few friends. Our game server, written in Java, crashed a lot due to race conditions we couldn't fix. In 2008, we decided to rewrite it in Erlang and never looked back! These days I'm happily coding in ClojureScript and Elixir. What is your talk about?

MK: Making code-driven research faster and reproducible by applying functional and reactive programming concepts at every stage: from managing software dependencies, to organizing and executing code. At Nextjournal we're building a research platform founded on making scientists more productive and giving their work a longer, more reliable lifespan. I'll show the why and how we've applied these techniques. Who is your talk for?

MK: Anyone interested in the future of science: how we can push back against the flood of unreproducible work, and how we can work faster as researchers. Also, those interested functional programming and how its tenets bring deeper meaning to larger subjects like reproducible science. What do you hope people will take away from the talk?

MK: We need better tools than we have today. To move out of our comfort zone. To make tools that we have more accessible and friendly to researchers. What concepts do you recommend people be familiar with to maximize their experience with the talk?

MK: Reactive programming, immutable data structures, content-addressed storage, and containerization (Docker, etc). I'll do my best to introduce those as we go. Since this will b e a chess-timer talk - where the talking time will be split between me and the audience

  • I'm interested in hearing what ideas others have to make progress towards better reproducibility and reusability. What resources are available for people who want to study up before the talk?

MK: For years, Bret Victor has made a compelling case towards better tooling. I recommend his article on climate change - a major source of inspiration for us. Rich Hickey's talk on the Value of Values. He argues for moving away from mutable state in our programming models. Where can people follow you online?

MK: I'm mkvlr on twitter and mk on GitHub. Are there any projects you'd like people to be aware of? How can people help out?

MK: I'm thankful for anyone who's interested in reproducible science to give Nextjournal a try and let me know what problems we should focus on. If that interests you please drop us a line at and we'll let you know how you can get an account. Where do you see the state of functional programming in 10 years?

MK: Hard to say. Many seemingly great concepts never got traction. Bret Victor's talk on the future of programming is a great reminder of that. I hope more people try it, but also believe that tools making incremental adoption possible will be the most successful. If functional programming were a superhero, what superpower would it have?

MK: Time travel.