Skip to content
lectern.tv
1/4

Why Functional Programming Matters: Higher-Order Glue & Lazy Evaluation

Professor of Computer Science (Co-creator of Haskell & QuickCheck)

56:10·2016·graduate level·Conference Talk

Live exposition of one of the most cited papers in programming languages: how higher-order combinators and lazy demand-driven evaluation decouple producers from termination/selection logic.

25 years ago I published "Why Functional Programming Matters", a manifesto for FP--but the subject is much older than that!

As software becomes more and more complex, it is more and more important to structure it well. Well-structured software is easy to write, easy to debug, and provides a collection of modules that can be re-used to reduce future programming costs. Conventional languages place conceptual limits on the way problems can be modularised. Functional languages push those limits back. In this paper we show that two features of functional languages in particular, higher-order functions and lazy evaluation, can contribute greatly to modularity. As examples, we manipulate lists and trees, program several numerical algorithms, and implement the alpha-beta heuristic (an algorithm from Artificial Intelligence used in game-playing programs). Since modularity is the key to successful programming, functional languages are vitally important to the real world.

Seminar notes & discussion

No public seminar notes on this lecture yet.