The Haskell Interlude

The Haskell Interlude is Haskell-focused podcast where we interview guests from the Haskell community. The hosts are Joachim Breitner, Andres Löh, Matthías Páll Gissurarson, Wouter Swierstra and Niki Vazou.

45 – András Kovács

In this episode, András Kovács is being interviewed by Andres Löh and Matthias Pall Gissurarson. We learn how to go from economics to functional programming, how GHC’s runtime system is superior to Rust’s, the importance of looking at GHC’s Core for spotting stray closures, and why staging might be the answer to all your optimisation problems.

44 – José Manuel Calderón Trilla

Wouter and Niki interview Jose Calderon, the new Executive Director of the Haskell Foundation. Jose tells why he applied for the job, how he sees the foundation developing over the coming years, and how you can get involved in the Haskell community.

43 – Ivan Perez

In this episode, Wouter and Andres interview Ivan Perez, a senior research scientist at NASA. Ivan tells us about how NASA uses Haskell to develop the Copilot embedded domain specific language for runtime verification, together with some of the obstacles he encounters getting to end users to learn Haskell and adopt such an EDSL.

42 – Jezen Thomas

Jezen Thomas is co-founder and CTO of Supercede, a company applying Haskell in the reinsurance industry. In this episode, Jezen, Wouter and Joachim talk about his experience using Haskell in industry, growing a diverse and remote team of developers, and starting a company to create your own Haskell job.

41 – Moritz Angermann

Today, Matthías and Joachim are interviewing Moritz Angermann. Moritz knew he wanted to use Haskell before he knew Haskell, fixed cross-compilation as his first GHC contribution. We’ll talk more about cross-compilation to Windows and mobile platforms, why Template Haskell is the cause of most headaches, why you should be careful if your sister calls and tells you to cabal install a package, and finally how we can reduce the fear of new GHC releases, by improving stability.

40 – Mike Sperber

In this episode, Andres and Matti talk to Mike Sperber, CEO of Active Group in Germany. They discuss how to successfully develop an application based on deep learning in Haskell, contrast learning by example with the German bureaucratic approach, and highlight the virtues of having fewer changes in the language.

39 – Rebecca Skinner

In this episode, we are joined by Rebecca Skinner. She talks about her new book, Effective Haskell, which takes you from list manipulation to thunks to type-level programming. She also tells us about large scale industrial applications in Haskell, and how the architecture is shaped by the organization of the engineering teams.

Disclaimer: Mercury is a financial technology company, not a bank. Banking services provided by Choice Financial Group and Evolve Bank & Trust, Members FDIC.

38 – Edwin Brady

Andres and Wouter interview Edwin Brady, most famous for his work on the Idris programming language. We talk about how he got interested in programming with dependent types, his thoughts on dependently typed programming in Haskell, and his vision for Idris.

37 – John MacFarlane

Joachim Breitner and David Christiansen interview John MacFarlane, a professor of philosophy at UC Berkeley, but also the author of the popular pandoc document conversion tool, which has been around half as long as Haskell itself. He also explains the principle of uniformity as a design goal for lightweight markup languages, the relationship between philosophy and programming, and along the way he helps David with his markdown difficulties.

36 – John Hughes

In this episode, Matti and Wouter are joined by John Hughes. John is one of the authors of the original Haskell Report and talks about why functional programming matters, the origins of QuickCheck testing, and how higher order functions and lazy evaluation is the key that makes functional programming so productive, and so much fun!

35 – Iavor Diatchki

Wouter and Niki are joined by Iavor Diatchki to talk about his experience with different Haskell development styles, writing a high assurance wiki in php, and maintaining Haskell code across different GHC releases over multiple decades.

34 – Lindsey Kuper

In this episode Niki Vazou and Wouter Swierstra chat with Lindsey Kuper, Assistant Professor at University of California, Santa Cruz. They discuss what to do when your data center gets hit by a tornado, life in academia versus life in industry, and what is choreographic programming.

33 – David Christiansen

In this farewell interview with David Thrane Christiansen, the outgoing Executive Director of the Haskell Foundation, hosts Wouter Swierstra and Matthías Páll Gissurarson use the opportunity to reflect on his tenure as ED, the recent history of the Haskell Foundation, where the HF is going and what consider if you want to apply for the role of Executive Director of the HF.

32 – Ranjit Jhala

This episode’s guest is Ranjit Jhala. We discuss how Ranjit developed Liquid Haskell as a litmus test, because if Haskell programmer’s won’t use Liquid Types, no one will. We also hear how writing Haskell is a joy and how you should never underestimate your students.

31 – Arnaud Spiwack

Arnaud Spiwack is interviewed by Matthías Páll Gissurarson and Joachim Breitner. We learn all about linear types in Haskell, how linear types go beyond Rust’s ownership system and why it’s not always best to type check everything in core. We conclude with a peek into the many activities of Arnaud’s employer, Tweag.

30 – Bartosz Milewski

In this episode, Bartosz Milewski is interviewed by Wouter Swierstra and Andres Löh. Bartosz shares his thoughts on the “fringe topics” in programming, from C++ templates to category theory in Haskell. How he considers monads to be like fingers sticking out of the water. And he’ll talk a little bit about his upcoming book and his thoughts on linear types.

29 – ZuriHac

Joachim Breitner went to ZuriHac 2023 in order to bring the spirit of the biggest Haskell community event to you. He talks to Farhad Mehta, Tomáš Janoušek, Christian Georgii, David Thrane Christiansen, Artin Ghasivand, Hannes Siebenhandl, Michael Peyton Jones and Ben Lynn.

28 – Richard Eisenberg

In this episode Niki Vazou and Mattias Pall chat with Richard Eisenberg. Richard is currently a language designer at Jane Street, he is the chair of the board at the Haskell Foundation and known for his work on the GHC compiler. Today we talk about dependent types in Haskell, how to get involved with GHC and Haskell foundation and how Haskell and Ocaml are different, for example, functor means a totally different thing in the two languages.

27 – Christiaan Baaij

In this episode Christiaan Baaij is interviewed by Wouter Swierstra and Mattias Páll. Christiaan talks about his work on the Clash compiler, what it is like to found your own company, his desire for ergonomic dependent types, and the foundations to all his success, namely capitalising on luck.

Errata: Around the 21m19s mark Christiaan talks about “his“ contributions to GHC with regards to dynamic linking on OSX. Later he remembered that it was actually Moritz Angermann who worked on the symbol limit restrictions. However, Christiaan did some other work on OSX linking and some of the RPATH handling.

26 – Simon Marlow

In this episode Simon Marlow talks with Andres Löh and Matthias Pall. Simon is a long time GHC contributor, currently working at Meta. He talks about compiling functional languages via C and the Evil Mangler, the importance of using parallelism and its impact on garbage collection, and about using Haskell in the real world via Sigma, Haxl, and Glean.

25 – Bodigrim

In this episode Joachim Breitner and Wouter Swierstra talk to Andrew Lelechenko, also known as Bodigrim. Bodigrim went from a being a mathematician to a failed PHP developer the chair of the Core Libraries Committee. In this episode, we discuss whether he prefers number theory or Haskell, whether he prefers working with compilers or PHP frameworks, and whether he prefers high salaries for Haskell developers or breaking changes to the base library.

24 – Jeremy Gibbons

In this episode Andres Löh and Niki Vazou chat with Jeremy Gibbons. Jeremy Gibbons is professor at Oxford and talks about his journey from Orwell to Haskell, how to teach Haskell and specification languages to undergraduates as well as professional programmers, how programming languages should keep simple things simple, and how paper writing can or even should be like poetry.

23 – Ben Gamari

In this episode Wouter Swierstra and Joachim Breitner chat with Ben Gamari. Ben is a consultant at Well-Typed known for his work at GHC. Ben tells us a little bit about his switch from Python to Haskell but not because he was missing the static typing, how programming his thermostat lead him to a career in the compiler development, and what it’s like to be a GHC force multiplier.

22 – Alejandro Russo

In this episode Andres Löh and Niki Vazou talk with Alejandro Russo. Alejandro is a professor at Chalmers University in Gothenburg Sweden, he is an enthusiastic functional programmer as well as a researcher in the fields of security and privacy. He talks about the unique strengths Haskell has in these areas and how to move research ideas into industry.

21 – Andrey Mokhov

In this episode Matthías Páll and Andres Löh talk with Andrey Mokhov. Andrey is best known for his work on the Hadrian build system and today he talks about algebraic graphs, selective functors, and the difference between OCaml and Haskell.

20 – Jesper Cockx

In this episode Jesper Cockx, one of the main Agda developers, is interviewed by Niki Vazou and Matthias Pall. They talk about how to explain dependent types to one’s father, how Agda’s automation and proof search work, and how Agda can be used to verify Haskell code bases.

19 – Marc Scholten

In this episode Marc Scholten is interviewed by Andres Löh and Joachim Breitner. They talk about the Integrated Haskell Platform web framework (IHP), implicit parameters and nix.

18 – Matthias Pall Gissurarson & Jimmy Koppel

In this episode Matthias Pall Gissurarson & Jimmy Koppel are interviewed by Wouter Swierstra and Niki Vazou. They talk about program synthesis, typed holes, program repair, and generating properties using a new technique called ECTAs.

17 – Ningning Xie

Ningning Xie is interviewed by Niki Vazou and Andres Loh. Ningning first contributed to GHC at her Google summer of code project with a very ambitious goal of implementing the whole dependent Haskell. Also later she fixed several ghc bugs and worked on Koka’s Algebraic effects. Her future hope and advice is to use programming language concepts on real-word problems.

16 – Oskar Wickström

Oskar Wickström is interviewed by Wouter Swierstra and Alejandro Serrano, he will tell us a little bit about property-based testing (PBT) Haskell code but also applying these ideas to the testing of complete systems. He will say a little bit about interfacing Haskell to other languages and even with your web browser and what it’s like to learn Rust as a Haskell programmer.

15 – Facundo Dominguez

Facundo Dominguez is interviewed by Niki Vazou and Joachim Breitner. Facundo Dominguez tells us the difference between STM and SMT. We also talk about Liquid Haskell and its relation to dependent types and the QualifiedDo extension – which is one of the most highly discussed GHC proposals – and the general GHC proposals. And, finally, Facundo describes a technique to have Haskell peacefully coexist with other languages thanks to his work in the build system Bazel.

14 – Ryan Trinkle

Ryan Trinkle is interviewed by Joachim Breitner and Niki Vazou. Ryan Trinkle co-founded Obsidian Systems, a company that uses not only Haskell but also even more exotic tech such as Functional Reactive Programming (FRP) and Nix. Ryan shed some light on the business side of Haskell and we get to hear that hiring for Haskell is actually excellent.

13 – David Christiansen

David Christiansen is interviewed by Alejandro Serrano and Wouter Swierstra. They talk about many functional programming things, from Idris to Racket and of course Haskell and David’s new role as the executive director of Haskell Foundation.

12 – Gergő Érdi

Gergő Érdi is interviewed by Wouter Swierstra and Andres Löh. Gergő has an interesting path into Haskell taking many twists and turns. This episode discusses about these twists and Gergő’s recent book on implementing retro computers using Haskell.

11 – Simon Peyton Jones

Simon Peyton Jones is interviewed by Andres Löh and Joachim Breitner. Simon is the creator of Haskell and in this episode he talks about his new position at Epic, the origins of Haskell and why “it feels right”, and the (extra)ordinary Haskell programmers.

10 – Nadia Polikarpova

Nadia Polikarpova is interviewed by Alejandro Serrano and Niki Vazou. Nadia is an assistant professor at UCSD, where she works on improving how we write programs. They talk about some of her projects, like Hoogle+ and Synquid, and how she approaches teaching about these topics.

9 – Sebastian Graf

Sebastian Graf is interviewed by Joachim Breitner and Alejandro Serrano. Sebastian is one of the most active contributors to GHC, and tells of this experience, from his very first commit to GHC to his current work on the pattern coverage checker and demand analyzer. He also gives us hints on how to reason about the strictness of Haskell programs.

8 – Théophile Choutri

Niki Vazou and Andres Löh are joined by guest Théophile Choutri (they/them), who also goes by Hécate. Théophile coordinates multiple projects and volunteer groups within the Haskell Foundation, notably the Haskell School project (intending to provide a free online open source library for teaching Haskell), and works on improving GHC core documentation and developing an alternative to Hackage. Together they discuss Théophile’s introduction to Haskell and their ongoing projects with the Foundation and the broader community, with a focus on the challenges facing Haskell non-experts and how they hope to tackle them.

7 – José Calderón

José Calderón is interviewed by Niki Vazou and Wouter Swierstra . José has been working on functional programming at Galois and University of Maryland. He tells us about his research background in many different continents, his experience with teaching compilers, the relation between music and functional programming and the “Recursive Programming Techniques” book that in the 1970s captured the essence of functional programming.

6 – Graham Hutton

Graham Hutton is interviewed by Wouter Swierstra and Andres Löh. Graham is known for his work on Haskell both in research and teaching Haskell, and in particular his Haskell book. Graham will tell us a little bit about how his book came about and give us advice for how to write a book ourselves, but also look back on his experience using Haskell and teaching Haskell in the last thirty years, and tell us a little bit about how bad the compile times were for the very first versions of GHC.

5 – Chris Smith

Chris Smith is interviewed by Joachim Breitner and Andres Löh. Chris is the author of the CodeWorld teaching tool and discusses why too much curry in the language can make error messages hard to digest and why a self respecting testing library certainly should be used to test itself.

4 – Jasper Van der Jeugt

Jasper Van der Jeugt is interviewed by Niki Vazou and Joachim Breitner. Jasper plays an important role in the Haskell community, helping with haskell.org, the Google Summer of Code project, ZuriHac and the ICFP programming contest, so there is much to talk about.

3 – Gabriella Gonzalez

Gabriella Gonzalez is interviewed by Joachim Breitner and Alejandro Serrano, and we talk about Dhall, Nix, and Haskell, learn why Gabriella’s packages are sometimes called after characters of computer games, and get to know her elevator pitch for educating Haskell

The interviewee now goes by Gabriella as their preferred name, but at the time was still using Gabriel.

2 – Lennart Augustsson

The guest in our second episode is Lennart Augustsson. The hosts are Wouter Swierstra and Niki Vazou. We talk about Lennart’s long history with Haskell, about the various jobs he has had, all the compilers he has written, and about dependent types.

1 – Emily Pillmore

The guest of our first regular episode is Emily Pillmore, CTO of the Haskell Foundation. The hosts are Alejandro Serrano and Andres Löh. We talk about Emily’s path to Haskell, the role of the Haskell Foundation and the CTO within the Haskell Foundation, about current projects, the Haskell Community and about Emily’s work on Optics.

0 – Teaser

We are starting a new Haskell-focused podcast where we interview guests from the Haskell community. The hosts are Niki Vazou, Joachim Breitner, Andres Löh, Alejandro Serrano and Wouter Swierstra. In this teaser episode, we introduce ourselves.

Acknowledgements

The music used is "Blue Lambda" by Donya Quick.
Many thanks to Donya for giving us permission to use this track for our podcast.

We are very grateful to Alp Mestanogullari and Jose Calderon for their help with editing the episodes and to Krishna Padmasola, Ben Orchard, and Mihai Maruseac for their help with the transcription.

SPONSORS
Individual Sponsors
Monads
GitHub IOHK Juspay Meta
Applicatives
CarbonCloud Digital Asset ExFreight Mercury Obsidian Systems Platonic Systems Tweag Well-Typed
Functors
Artificial Channable FlipStone Freckle Google HERP MLabs TripShot
To learn more about the Haskell Foundation
Haskell Foundation, Inc.
2093 Philadelphia Pike #8119
Claymont, DE 19703
USA