Software Engineering Radio - the podcast for professional software developers

Episode 108: Simon Peyton Jones on Functional Programming and Haskell

Aug 29, 2008
Simon Peyton Jones, a Microsoft Research programming languages researcher and Haskell designer. He discusses what makes Haskell a pure functional language. He covers lambda calculus, currying, immutability and lazy evaluation. He explores managing side effects with monads, STM and type-based purity guarantees. He also surveys practical Haskell use, libraries, and learning resources.
Ask episode
AI Snips
Chapters
Books
Transcript
Episode notes
ANECDOTE

From Industry To Haskell Language Design

  • Simon Peyton Jones moved from industry to academia and then to Microsoft Research to pursue programming languages research.
  • He helped design Haskell in the late 1980s to unify several lazy functional language efforts.
INSIGHT

Sharing Needs Purity Or It Becomes Costly

  • Memoization everywhere is expensive because it requires retaining all past calls and results indefinitely.
  • Static compile-time transformations can safely add sharing because purity guarantees no hidden effects.
INSIGHT

Algebraic Data Types Aid Safety

  • Algebraic data types use constructors and pattern matching and resemble sealed class hierarchies.
  • Declared data types give static guarantees about possible cases, aiding safety and maintenance.
Get the Snipd Podcast app to discover more snips from this episode
Get the app