
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.
AI Snips
Chapters
Books
Transcript
Episode notes
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.
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.
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.

