by Wm Leler
Introduces relational programming via constraints, tours the landscape, and unifies the field via the Bertrand augmented term-rewriting language.