Reinventing Haskell Backtracking

11 years 4 months ago
Reinventing Haskell Backtracking
: Almost ten years ago, Ralf Hinze has written a functional pearl on how to derive backtracking functionality for the purely functional programming language Haskell. In these notes, we show how to arrive at the efficient, two-continuation based backtracking monad derived by Hinze starting from an intuitive inefficient implementation that we subsequently refine using well known program transformations. It turns out that the technique can be used to build monads for non-determinism from modular, independent parts which gives rise to various new implementations. Specifically, we show how the presented approach can be applied to obtain new implementations of breadth-first search and iterative deepening depth-first search.
Sebastian Fischer
Added 24 Jul 2010
Updated 24 Jul 2010
Type Conference
Year 2009
Where GI
Authors Sebastian Fischer
Comments (0)