I show how monads in Haskell can be used to structure infinite search algorithms, and indeed get them for free. This is a follow-up to my blog post Seemingly impossible functional programs. In the two papers Infinite sets that admit fast exhaustive search (LICS’07) and Exhaustible sets in higher-type computation (LMCS’08), I discussed what kinds [...]
