Programming Books C Java PHP Python Learn more Browse Programming Books
The Reasoned Schemer and over one million other books are available for Amazon Kindle. Learn more
  • List Price: $32.00
  • Save: $6.40 (20%)
FREE Shipping on orders over $35.
In Stock.
Ships from and sold by
Gift-wrap available.
FREE Shipping on orders over $35.
Condition: Used: Good
Comment: One corner of the book is chewed up a little. We flipped through the book and did NOT see any highlighting, underlining, etc.... Get it fast with Amazon Prime! Ships directly from an Amazon Warehouse! OVERNIGHT AND 2-DAY SHIPPING AVAILABLE!
Sell yours for a Gift Card
We'll buy it for $8.76
Learn More
Trade in now
Have one to sell? Sell on Amazon
Flip to back Flip to front
Listen Playing... Paused   You're listening to a sample of the Audible audio edition.
Learn more
See this image

The Reasoned Schemer Paperback – October 14, 2005

See all 2 formats and editions Hide other formats and editions
Amazon Price New from Used from
"Please retry"
"Please retry"
$20.12 $17.99

Frequently Bought Together

The Reasoned Schemer + The Seasoned Schemer + The Little Schemer - 4th Edition
Price for all three: $83.65

Buy the selected items together

Shop the new
New! Introducing the, a hub for Software Developers and Architects, Networking Administrators, TPMs, and other technology professionals to find highly-rated and highly-relevant career resources. Shop books on programming and big data, or read this week's blog posts by authors and thought-leaders in the tech industry. > Shop now

Product Details

  • Paperback: 176 pages
  • Publisher: The MIT Press (October 14, 2005)
  • Language: English
  • ISBN-10: 0262562146
  • ISBN-13: 978-0262562140
  • Product Dimensions: 7 x 0.3 x 9 inches
  • Shipping Weight: 8 ounces (View shipping rates and policies)
  • Average Customer Review: 3.3 out of 5 stars  See all reviews (13 customer reviews)
  • Amazon Best Sellers Rank: #294,742 in Books (See Top 100 in Books)

Editorial Reviews


Contrary to popular belief, logic programming doesn't always mean programming in Prolog. In this groundbreaking book, Friedman and Kiselyov extend Scheme to form a completely new kind of logic programming system, one which is in many ways even more elegant than Prolog. Written in the same classic question-and-answer format as the authors' previous book The Little Schemer, The Reasoned Schemer covers goals, first-class relations, interleaved and non-interleaved backtracking, the relationship between relational and functional programming, and much more. Reading this book will not only cause your geek rating to skyrocket and impress all the Cool Kids, it will also open your eyes to a paradigm of programming which most programmers are completely unaware of, but which will undoubtedly play a significant role in the programming systems of the future. More importantly, though, this book is great fun to read and will make you a better programmer.

(Michael Vanier, Caltech)

About the Author

Daniel P. Friedman is Professor of Computer Science at Indiana University and is the author of many books published by the MIT Press, including The Little Schemer (fourth edition, 1995), The Seasoned Schemer (1995), A Little Java, A Few Patterns (1997), each of these coauthored with Matthias Felleisen, and The Reasoned Schemer (2005), coauthored with William E. Byrd and Oleg Kiselyov.

William E. Byrd is a PhD candidate in Computer Science at Indiana University.

Oleg Kiselyov is a computer scientist from Monterey, California.

More About the Author

Discover books, learn about writers, read author blogs, and more.

Customer Reviews

It is simply too poorly implemented.
Jon Loldrup
All in all, if you liked _The Little Schemer_ and are curious about new ways of programming, you should definitely pick up a copy of this book.
Michael Vanier
I wish I could actually comment on the book itself... Buy the dead tree version.

Most Helpful Customer Reviews

48 of 50 people found the following review helpful By Conrad Barski on October 22, 2005
Format: Paperback
I'm a long-time fan of the "Schemer" series of books and was excited to receive my preordered copy of "The Reasoned Schemer" yesterday- It was supposed to be published in July but must have been held up until now...

I have no relationship with any of the authors and just want to put my $0.02 in on it, since not many others may have a copy yet- I think it is absolutely FANTASTIC so far!

The book itself is very much in the same style as the rest of the "Schemers"- A Q&A style of exposition that helps your brain to absorb most of the essence of a new programming style without having to spend the time to write tons of actual code yourself to learn the basic philosophy.

The main purpose of the book is to attach a set of logic programming commands to the core R5RS scheme that allow you to implement all kinds of cool things, such as constraint programming, pattern matching, nondeterministic programming, and PROLOG-like logical reasoning. The material covered is not too dissimilar from the material in the back of "On Lisp" or some parts of SICP. What distinguishes it is that the implementation used has been widdled down to its bare essence and uses a syntax modeled on standard FP scheme syntax. Plus, the subject matter is treated with a certain academic rigor that gives these new commands the feeling of a practical toolset instead of just a clever novelty. I could imagine incorporating these commands into my regular scheme code...

As I mentioned, there is a list of new mysterious scheme commands that enable the logic reasoning abilities- They look superficially like the standard FP commands in scheme, but behave slightly different- They have names such as "conde", "caro", etc.
Read more ›
1 Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
23 of 23 people found the following review helpful By Michael Vanier on February 4, 2007
Format: Paperback Verified Purchase
As the saying goes, if you like this sort of thing, this is the sort of thing you'll like. The authors have extended the approach of their classic book _The Little Schemer_ to encompass what is usually called logic programming, but which they refer to as "relational programming" (a much better name, in my opinion). They extend the Scheme language with relational analogues of many constructs, notably lambda and cond (in many, many variations), and also provide extended versions of standard Scheme operations like cons, car, and cdr. Basically, the relational approach involves taking the result of a function call and making it just another argument, but a special argument that can get assigned to as the result of the computation. Big deal, so what? you ask. The important thing is that _all_ of the function arguments behave this way, so that you can specify the result of a function (relation) and ask the system to generate the arguments. For instance, instead of saying 2 + 2 = X and figuring out what X is, you can say X + 2 = 4 and the system will figure out what X has to be (in this case... ummm... oh yeah, 2). To do this, the system uses a mechanism called "backtracking" which systematically tries alternatives until it either finds the answer, gives up, or (if you didn't program the search right) goes on forever. If you haven't seen this style of programming before, this book will definitely open your eyes.

The relational/logic programming style is usually learned by studying the Prolog language, which is how I learned it (though I'm no expert). Having a knowledge of Prolog will definitely make this book easier to understand, although the approach given here is more modern than Prolog in several ways.
Read more ›
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
9 of 9 people found the following review helpful By Code Monkey on January 21, 2010
Format: Paperback
Fans of the "Little Books" (The Little Schemer - 4th Edition, The Seasoned Schemer) will find an interesting introduction to logic programming here. I found "The Reasoned Schemer" unique in that it has no preconceptions of logic programming being "special." It dives right into the subject! If you know some rudimentary Scheme or Lisp you will start "thinking logically" without even being introduced to old fashioned terms like "backtracking" or "cuts" (or, for over a hundred pages, even "unification").

Some readers might object to the books use of a coding style that is not executable Scheme. To my surprise I found the source format a great help to readability. Translating the text into executable Scheme code was effortless even though the book assumes that you will figure how to run the code for yourself (search engines and a little experimentation should quickly lead you to miniKanren). Probably the weakest part of the book is an overly long and tedious development of a system of arithmetic, but that example does demonstrate how far logic programs can go. I was somewhat alarmed by the incredibly terse implementation note at the end of the book. I'd be surprised if most readers would just "get" the implementation strategy.

While I enjoyed working through this book I had the nagging suspicion that it might not be the introduction to logic programming I would personally recommend.
Read more ›
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again

Most Recent Customer Reviews

What Other Items Do Customers Buy After Viewing This Item?