CDN$ 45.35
  • List Price: CDN$ 49.27
  • You Save: CDN$ 3.92 (8%)
Only 2 left in stock (more on the way).
Ships from and sold by Gift-wrap available.
The Reasoned Schemer has been added to your Cart
Have one to sell?
Flip to back Flip to front
Listen Playing... Paused   You're listening to a sample of the Audible audio edition.
Learn more
See all 3 images

The Reasoned Schemer Paperback – Oct 14 2005

5.0 out of 5 stars 1 customer review

See all 5 formats and editions Hide other formats and editions
Amazon Price
New from Used from
Kindle Edition
"Please retry"
"Please retry"
CDN$ 45.35
CDN$ 37.40 CDN$ 21.67

Harry Potter and the Cursed Child
click to open popover

Frequently Bought Together

  • The Reasoned Schemer
  • +
  • The Seasoned Schemer
  • +
  • The Little Schemer
Total price: CDN$ 137.59
Buy the selected items together

No Kindle device required. Download one of the Free Kindle apps to start reading Kindle books on your smartphone, tablet, and computer.
Getting the download link through email is temporarily not available. Please check back later.

  • Apple
  • Android
  • Windows Phone
  • Android

To get the free app, enter your mobile phone number.

Product Details

  • Paperback: 184 pages
  • Publisher: The MIT Press (Oct. 14 2005)
  • Language: English
  • ISBN-10: 0262562146
  • ISBN-13: 978-0262562140
  • Product Dimensions: 17.5 x 1 x 22.9 cm
  • Shipping Weight: 227 g
  • Average Customer Review: 5.0 out of 5 stars 1 customer review
  • Amazon Bestsellers Rank: #171,307 in Books (See Top 100 in Books)
  •  Would you like to update product info, give feedback on images, or tell us about a lower price?

Product Description


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

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

Oleg Kiselyov is a computer scientist from Monterey, California.

What Other Items Do Customers Buy After Viewing This Item?

Customer Reviews

5.0 out of 5 stars
5 star
4 star
3 star
2 star
1 star
See the customer review
Share your thoughts with other customers

Top Customer Reviews

Format: Paperback
This book takes you on the next adventure in the Schemer series. The Little Schemer taught lists and recursion, The Seasoned Schemer taught computation and now Reasoned Schemer teaches you logic programming and relational programming. Relational programming describes what you want in the result rather than how to get to result. As any book in the Schemer series, it's extremely fun to read and it will bend your mind. It will make you think from the first page. All in all this book teaches the essence of Prolog - the most well-known logic programming language.

I've placed this book #13 in my Top 100 Programming, Computer and Science books list:

Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again.
Report abuse

Most Helpful Customer Reviews on (beta) HASH(0xa5796bc4) out of 5 stars 15 reviews
50 of 52 people found the following review helpful
HASH(0xa57a6774) out of 5 stars Mind-Blowing Book Oct. 22 2005
By Conrad Barski - Published on
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. There are also a couple of commands with no FP scheme analogue, such as "run" and "fresh". Using these new commands, logical reasoning can be mixed with standard FP scheme pretty seamlessly. An appendix at the end of the book implements the full set of commands- It totals about 150 LOC in length.

I'm still only partially into the book, but just wanted to let folks know that this book has some really mind-blowing ideas and may be the answer to those, like me, who are still searching for a resource that will allow them to "get" PROLOG-like languages and want to learn how to incorporate such techniques into their programming projects with the least amount of fuss possible.
24 of 24 people found the following review helpful
HASH(0xa57a6114) out of 5 stars fascinating and challenging Feb. 4 2007
By Michael Vanier - Published on
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. For one thing, the named relations of Prolog are replaced here by anonymous relations (analogous to lambda expressions being anonymous functions), and for another, the (somewhat brutal) "cut" operator of Prolog, which is used to control backtracking, is ignored in favor of more subtle approaches involving interleaving solutions and giving up after single results are found.

I think the approach of learning-by-pattern-recognition that all the "Little X" books use is fairly effective here, though I think a lot of readers (meaning me) wouldn't mind a more extended discussion of the mechanics of the system.

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. It will stretch your mind like a Slinky, and when you're done you'll have learned a new way of looking at programming.
10 of 10 people found the following review helpful
HASH(0xa57c9960) out of 5 stars Good introduction if you like the style Jan. 21 2010
By Code Monkey - Published on
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. To check for an example I reopened my (unfortunately long neglected) copy of Paradigms of Artificial Intelligence Programming: Case Studies in Common Lisp. I have to conclude that Norvig's 18 year old chapter on Prolog still seems a more succinct and complete introduction. But then I'm tainted by having programmed in Prolog before, and I also have to consider that "AI" is so unhip today that few newly minted programmers would go pick up that old classic. So go ahead, get yourself a copy of The Reasoned Schemer. It is a book that no truly curious programmer will regret reading. Not even those that unify every day.
14 of 17 people found the following review helpful
HASH(0xa55f1e10) out of 5 stars The idea is there, but the implementation is poor March 19 2010
By Jon Loldrup - Published on
Format: Paperback
First a word about The Reasoned Schemers soul-brother "The Little Schemer":
I read the Little Schemer from one end to the other, and I simply adored it. It taught me so much that I hadn't really grasped before, and it taught me how to program. I can't recommend The Little Schemer hight enough for persons who wants to know what programming is really about.

The Reasoned Schemer builds on the same idea, and I was therefor very eager to get started with it. Unfortunately, even though this book follows the same recipe as The Little Schemer, the actual implementation of this recipe is very poorly conducted. Where The Little Schemer was careful in its stepwise built-up of knowledge, making certain no assumptions were left unexplained, this book seems to have been written more hurriedly - the author seems to have forgotten to clear his mind for all the stuff that he finds obvious, but which the intended group of readers is in fact only just beginning to learn. I think the basic idea behind these books really has something going for it. Reading this book, I realize a good recipe also need a good cook and good preparation. The author of this book certainly is a good cook, but, it seems he badly neglected taking the time it takes, to think this book through.

Conclusively, I can in no way recommend this book. It is simply too poorly implemented.
34 of 46 people found the following review helpful
HASH(0xa55f69fc) out of 5 stars DO NOT purchase this in electronic form! May 4 2011
By Brian - Published on
Format: Kindle Edition Verified Purchase
So. I read the Little Lisper a couple of years ago and enjoyed it. I finally got around to buying this book last night for my new Kindle. BIG mistake. It is unreadable. The font size can only be changed for the preface, acknowledgements and contents overview. The actual meat of the book CANNOT be altered with any settings on the Kindle. It's not a PDF so I can't zoom and the font is soooo small (about a millimeter high) it is unreadable even with 20/15 vision!

I wish I could actually comment on the book itself...

Buy the dead tree version.