The goal of The Reasoned Schemer is to help the functional programmer think logically and the logic programmer think functionally. The authors of The Reasoned Schemer believe that logic programming is a natural extension of functional programming, and they demonstrate this by extending the functional language Scheme with logical constructs - thereby combining the benefits of both styles. The extension encapsulates most of the ideas in the logic programming language Prolog.
The pedagogical method of The Reasoned Schemer is a series of questions and answers, which proceed with the characteristic humor that marked The Little Schemer and The Seasoned Schemer. Familiarity with a functional language or with the first eight chapters of The Little Schemer is assumed. Это и многое другое вы найдете в книге The Reasoned Schemer (Daniel P. Friedman, William E. Byrd)