While textbooks and papers often present dynamic programming algorithms in an imperative style, there's usually nothing intrinsically imperative about them. In this talk I describe a framework for thinking about dynamic programming algorithms in a functional style and present two algorithms (matrix-chain multiplication and string edit distance) implemented in Haskell.
This presentation was delivered at the FP-Syd functional programming user group in Sydney, Australia in May, 2015.