Software developers love to talk about “abstraction” as an important principle. But what’s the point of abstraction? How does it help us to write, and create, software that easier to write, extend, and modify? How can we use the principles of abstraction to think in new and better ways, to solve bigger problems, and write better software? In this talk, Gershom Bazerman talks about abstraction — not just from the perspective of the Haskell language, but from programming in general.