Skip to content
video episode
0:00 / 1:24:33
Rock the Code · April 16 · 1 hr 24 min

Simon Peyton Jones on Haskell, Verse, Strong Type Systems and Tasteful Abstractions

Simon Peyton Jones is a computer scientist in the true sense of the word, and the lead designer of the Haskell programming language and the GHC. He's a fellow of the Royal Society and the ACM and has won many awards (including the SIGPLAN award) for his contributions to programming language design. Simon is currently working for Epic Games with the CEO Tim Sweeney on Verse, a programming language that brings functional programming to video games. You can find Simon at https://simon.peytonjones.org/ 0:00 Intro 1:42 Origins of type classes in Haskell 7:01 Higher-kinded type variables and the monad surprise 12:31 Tasteful abstractions: when complexity is worth it 18:46 GADTs, higher-rank polymorphism, and OOP connections 23:24 Static vs. dynamic typing: the real case for types 27:18 Laziness, purity, and the IO monad 32:46 What mainstream languages should steal from Haskell 39:41 Subtyping vs. parametric polymorphism 44:31 Verse: types as functions and expressions as patterns 52:32 Verse's mathematical ambitions and Tim Sweeney 57:30 LLM-generated code and the limits of verification 1:04:01 Property-based testing as practical verification 1:08:20 Teaching CS fundamentals to children 1:14:39 Juniors, seniors, and AI in the workforce 1:23:07 Immutability changes everything

transcript

No transcript — this publisher did not publish one.

show notes

Simon Peyton Jones is a computer scientist in the true sense of the word, and the lead designer of the Haskell programming language and the GHC. He's a fellow of the Royal Society and the ACM and has won many awards (including the SIGPLAN award) for his contributions to programming language design. Simon is currently working for Epic Games with the CEO Tim Sweeney on Verse, a programming language that brings functional programming to video games.

You can find Simon at https://simon.peytonjones.org/


0:00 Intro
1:42 Origins of type classes in Haskell
7:01 Higher-kinded type variables and the monad surprise
12:31 Tasteful abstractions: when complexity is worth it
18:46 GADTs, higher-rank polymorphism, and OOP connections
23:24 Static vs. dynamic typing: the real case for types
27:18 Laziness, purity, and the IO monad
32:46 What mainstream languages should steal from Haskell
39:41 Subtyping vs. parametric polymorphism
44:31 Verse: types as functions and expressions as patterns
52:32 Verse's mathematical ambitions and Tim Sweeney
57:30 LLM-generated code and the limits of verification
1:04:01 Property-based testing as practical verification
1:08:20 Teaching CS fundamentals to children
1:14:39 Juniors, seniors, and AI in the workforce
1:23:07 Immutability changes everything