The Haskell Cast
To listen to an audio podcast, mouse over the title and click Play. Open iTunes to download and subscribe to podcasts.
Listen to regular interviews with the Haskell community. The podcast covers news, libraries, and whatever other topics we wander onto with our guests.
||CleanEpisode 14 - Richard Eisenberg on Dependent Types in Haskell||00:29 What are dependent type systems? 03:38 applying dependent types to industry 07:30 writing dependently typed programs in Haskell today 09:07 GADTs (Generalized Algebraic Data Types) 11:01 the future of dependent types in GHC 13:40 teaching dependent types 18:03 learning dependent types 20:20 a future style of Haskell programming with dependent types 21:21 Servant and opaleye as an example of type-level features 23:22 tool support for dependently typed programming 24:06 simple applications of dependent types for linear algebra 26:25 Are dependent types worth it? 28:47 complex type system errors 33:07 LiquidHaskell 36:26 safe zero-cost coercions 41:20 total vs type safe 48:36 working on GHC’s type system 51:09 using GHC extensions in the GHC source code 53:00 road to Haskell 55:37 teaching Haskell to students 1:03:00 a hopeful future for reliable software through dependent types||13 6 2017||Free||View in iTunes|
||CleanEpisode 13 - John Wiegley on Categories and Compilers||00:44 using Haskell, Nix, and Emacs for integrated offline development 08:48 building environments for particular dependencies with Nix 09:58 what Emacs and GHC have in common 12:58 developing with typed holes 14:43 compiling to categories 20:35 learning to love mathematics 22:41 applications for compiling to categories 25:25 Coq 28:15 specifying the ByteString library in Coq 34:30 Why Haskell? 40:00 writing a compiler in C vs Haskell 43:32 gitlib 45:52 getting your head around Haskell 48:23 recursion schemes/F-algebras 52:33 hnix||10 5 2017||Free||View in iTunes|
||CleanEpisode 12 - Neil Mitchell on Development Tools||Neil Mitchell shares with us his enthusiasm for building development tools. We hear the story of how he built Hoogle in order to learn Haskell, why he created the Shake build system and what he hopes to accomplish with it, and how he uses hlint in his own development work. We discuss Haskell IDEs (including his own minimal ghcid) and briefly touch on a variety of other development tools and libraries that aim to improve Haskell development. Neil also shares a trick he uses for hunting and fixing space leaks in programs and libraries.||16 4 2017||Free||View in iTunes|
||CleanEpisode 11 - Austin Seipp on Security||Austin Seipp joins us to discuss Haskell security and infrastructure. We talk about how Haskell security differs from C (and where it doesn’t) and some coming changes to Cabal security. Then we discuss Cryptol: a Haskell-inspired language for implementing cryptographic algorithms in a way that more closely resembles their mathematical specification. Finally, we talk a bit about his work in maintaining the haskell.org infrastructure and his time as a GHC release manager. Along the way, Austin shares about his pet projects, including hardware projects using CλaSH.||5 3 2017||Free||View in iTunes|
||CleanEpisode 10 - Bryan O'Sullivan on Performance and Efficiency||Bryan O’Sullivan shares his experience helping make developers more efficient, both inside of Facebook as Director of Developer Efficiency and with his various Haskell libraries, some of which you probably know and use already: aeson, attoparsec, criterion, statistics, and text (to name a few). We speak about performance and optimization of Haskell programs and where documentation for “Real World” Haskell development should go from here. Talking with Bryan also reveals how far you can go with Haskell without being overly concerned about category theory and the other math behind the language and libraries.||18 10 2015||Free||View in iTunes|
||CleanEpisode 9 - Conal Elliott on FRP and Denotational Design||Conal Elliott, inventor of Functional Reactive Programming, tells us about the birth of FRP as well as other stories from his 25 years of functional programming experience. He shares what he considers the fundamentals of FRP (behaviors and events) and how they work in a model with continuous time. We speak about FRP practicality and efficiency, including how a continuous time model can help lead to a high performance implementation. Eventually we’re led into Denotational Design, which plays a part in the design and refinement of FRP and which Conal considers his simplest and clearest design tool.||14 12 2014||Free||View in iTunes|
||CleanEpisode 8 - Ollie Charles on 24 Days of Hackage and Nix||Ollie Charles, author of 24 Days of Hackage (and a number of Haskell libraries), gives us his perspectives on Haskell libraries and how they relate to Perl’s CPAN. He shares how he began his transition from Perl to Haskell while working for MusicBrainz and how he came to work full-time on Haskell at Fynder. (Listen closely if you’ve wanted to write Haskell in your non-Haskell job.) We also chat briefly about developing in Haskell with Nix and a different take on equational reasoning.||20 7 2014||Free||View in iTunes|
||CleanEpisode 6 - Gabriel Gonzalez and Michael Snoyman on Pipes and Conduit||Gabriel Gonzalez and Michael Snoyman join us to discuss their solutions to the problems with lazy IO. Gabriel’s pipes library focuses on equational reasoning while Michael’s conduit library promises deterministic resource handling. Gabriel and Michael have already debated the merits and disadvantages of each other’s libraries on their blogs. Now we get them onto the podcast to explain the differences to us and talk about where they’re going in the future (and the possibility of converging on a single solution).||2 3 2014||Free||View in iTunes|
||CleanEpisode 5 - Brent Yorgey on Diagrams and the Typeclassopedia||Brent Yorgey explains the motivation and purpose of his Diagrams library and how it relates to other programmatic graphics systems like TikZ. He then shares his motivation for writing the Typeclassopedia and his thoughts on how much category theory Haskell programmers need to know. He also shares some insights from teaching an introductory Haskell course.||21 1 2014||Free||View in iTunes|
||CleanEpisode 4 - Simon Marlow on Parallelism and Concurrency||Simon Marlow, author of Parallel and Concurrent Programming in Haskell and co-developer of GHC, lets us know what he’s been up to at Facebook. He shares with us the project he’s been working on in Facebook and how Haskell is gaining traction inside Facebook’s diverse engineering culture. We also talk about his recent book and what he’ll be researching in the future.||24 11 2013||Free||View in iTunes|
||CleanEpisode 3 - Simon Peyton Jones on GHC||Simon Peyton Jones joins us to discuss recent developments in GHC, parallel programming, and computer science education. We start by discussing some upcoming changes to Cabal and the module system and then look at recent developments in parallelizing Haskell programs. Finally, Simon shares what he’s been working on recently: a national curriculum of computing in England and the Computing at School (CAS) Working Group.||27 10 2013||Free||View in iTunes|
||CleanEpisode 2 - Don Stewart on Real World Haskell||Don Stewart, co-author of Real World Haskell and author of many Haskell Stack Overflow answers, joins us to discuss working with Haskell at large scale: how to organize, deploy, and test more than 1 million lines of Haskell code. He also shares some insights on hiring, training, and working with a large team of Haskell developers. To start the episode, we discuss performance and optimization of Haskell programs.||22 9 2013||Free||View in iTunes|
||CleanEpisode 1 - Edward Kmett on Lenses||Edward Kmett joins us to talk about lenses, comonads, and the future of the Haskell core libraries. He also shares with us how he discovered Haskell, his academic background, and advice for new Haskell developers being exposed to the math concepts inside of his libraries for the first time.||25 8 2013||Free||View in iTunes|