Next: , Previous: , Up: lang   [Index]

1.4 McCarthy’s amb operator

The library (vicare language-extensions amb) defines McCarthy’s amb operator and a set of related utilities. The ambiguous operator allows the execution of depth–first search in a tree of choices integrated in the normal control flow of a Scheme program; it is built upon continuations.

The amb operator was briefly defined in:

John McCarthy. “A Basis for a Mathematical Theory of Computation”. In Computer Programming And Formal Systems by P. Braffort and D. Hirschberg (Ed.), 1963.

and further discussed in:

Ramin Zabih, David McAllester, and David Chapman. “Non–deterministic Lisp with dependency–directed backtracking”. In Proc. Proceedings of the Sixth National Conference on Artificial Intelligence, pp. 59-64, 1987.