Extending the functional language Scheme with logical constructs in order to help the functional programmer think logically and the logic programmer think functionally. 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...