Look Ma, Backtracking without Recursion
T Tom Verhoeff · OLYMPIADS IN INFORMATICS · 2021
I show how backtracking can be discovered naturally without using a recursive function (nor using a loop with an explicit stack). Rather, my approach involves a form of self application that can be elegantly expressed in an object-oriented program, and that is reminiscent of how recursion is done in lambda calculus. It also illustrates why reasoning about object-oriented programs can be hard.