Hacking gadflies

Friedman, Daniel P., William E. Byrd, and Oleg Kiselyov. The reasoned Schemer. Cambridge, Massachusetts: The MIT Press, 2005. ISBN 0-262-56214-6.

Summary: An introduction to the theory, practice, and implementation of relational programming, in a slightly extended, goal-oriented version of Scheme. The material is presented in the lively question-and-answer style that the first author developed in The little Schemer (formerly known as The little LISPer) and used in The seasoned Schemer, The little MLer, and A little Java, a few patterns.