The Reasoned Schemer Author:Daniel P. Friedman, William E. Byrd, Oleg Kiselyov 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 co... more »nstructs -- thereby combining the benefits of both styles. The extension encapsulates most of the ideas of Prolog, the most well-known logic programming language.
The pedagogical method of The Reasoned Schemer is a series of questions and answers. Familiarity with a functional language or with the first eight chapters of The Little Schemer is assumed. Adding logic capabilities required the introduction of new forms. The authors' goal is to show to what extent writing logic programs is the same as writing functional programs using these forms. In this way, the reader of The Reasoned Schemer will come to understand how simple logic programming is and how easy it is to define functions that behave like relations.« less