Goodreads helps you keep track of books you want to read.
Start by marking “The Little Schemer” as Want to Read:
The Little Schemer
Enlarge cover
Rate this book
Clear rating
Open Preview

The Little Schemer

(The Little Schemer #1)

4.28  ·  Rating details ·  1,813 ratings  ·  118 reviews
The notion that “thinking about computing is one of the most exciting things the human mind can do” sets both The Little Schemer (formerly known as The Little LISPer) and its new companion volume, The Seasoned Schemer, apart from other books on LISP. The authors' enthusiasm for their subject is compelling as they present abstract concepts in a humorous and easy-to-grasp fa ...more
Paperback, 4th Edition, 210 pages
Published December 21st 1995 by MIT Press (first published January 1st 1974)
More Details... Edit Details

Friend Reviews

To see what your friends thought of this book, please sign up.

Reader Q&A

To ask other readers questions about The Little Schemer, please sign up.
Popular Answered Questions
Josh Taylor Definitely. It really builds up everything from very basic logic instead of from prior programming knowledge. I wish this was my own introduction to p…moreDefinitely. It really builds up everything from very basic logic instead of from prior programming knowledge. I wish this was my own introduction to programming and computation. Also see this quotation from the preface.
What you need to know to read this book.
The reader must be comfortable reading English, recognizing numbers, and counting.
Josh Taylor The quotation in my version from chapter 7 about fun? is

What is (fun? rel)
rel is ((d 4) (b 0) (b 9) (e 5) (g 4))

#t because (firsts rel) is a set
The quotation in my version from chapter 7 about fun? is

What is (fun? rel)
rel is ((d 4) (b 0) (b 9) (e 5) (g 4))

#t because (firsts rel) is a set
---See chapter 3

So it doesn't say that '(fun? somelist) is #t if the first item in the list is a set' but says that '(fun? somelist) is #t if (firsts somelist) is a set'. (firsts somelist) is the first item of each of the tuples contained by somelist.(less)

Community Reviews

Showing 1-30
Average rating 4.28  · 
Rating details
 ·  1,813 ratings  ·  118 reviews

More filters
Sort order
Start your review of The Little Schemer
Aug 08, 2008 rated it it was amazing  ·  review of another edition
Is this book great?          Yes, it is an awesome book.
Why is it awesome?       The entire book is written
                                            as a series of questions,
                                            which forces you ask
                                            yourself questions about the
                                            content along the way.
Doesn't that get annoying?  Not really.
Will I learn Lisp?           Not really.
What will I do?              Master recursi
Nov 22, 2009 rated it really liked it
Is this a good book?

Yes, it is. Now go have a sandwich.
Jun 26, 2012 rated it it was amazing
Reading this book, I couldn't stop thinking about how much I would have loved and treasured it when I first started getting interested in programming in middle school. It's not necessarily written for children, and I'm not saying it's not a fun/stimulating read for an adult, but that's the perspective I want to review it from.

Around that time I spent hundreds of hours playing around with QBasic, and I remember being so curious how it "worked"... Not from a registers and pointers perspective, but
Christian Brumm
Jan 03, 2010 rated it really liked it
Recommends it for: Programmers
Shelves: cs-software
Just finished the book, good read, unusual book. The leading topic is Recursion. The book is written in a question-answer style that needs getting used to but is well designed an kept me interested. I found the style a bit tiresome at the beginning, because the matter starts off quite easy and the presentation does not really allow you to skip lots of stuff completely, as you will never know what you have missed. Its really designed to be read cover to cover.

I think the book changes pace dramati
Dec 13, 2014 rated it it was ok
Shelves: tech-languages
hrm. The Little Schemer seems like a great book for a 12 year old grad student; that is to say, the style and the difficulty of the concepts in the book are somewhat at odds.

It starts out in a cutesy style, with back and forth questions and answers, whimsical instructions to make yourself a pb&j sandwich or eat a slice of cake... but about half way through the conceptual difficulty ramps up considerably. It ends up covering currying, the halting problem, multi-argument continuation passing styl
James Watson
Aug 15, 2013 rated it really liked it
The Little Schemer is an excellent introduction to computer science concepts as they relate to the Scheme/Lisp way of programming. It is heavily focused on recursion as a core, fundamental part of computer programs in a way that many other computer science books are not. Functional programming concepts are covered, but this is not a strictly functional book. Concepts are presented naturally and their importance emerges from the examples. The book never stops to say "Okay, here comes an importan ...more
Aug 22, 2016 rated it it was amazing
A pet peeve of mine is how the quality of books on technical subjects (computers, specifically) has decline so radically since (*kaff*) I stopped writing them. Seriously, a famous book on Rails—perhaps considered the canonical book, it's so popular—epitomizes the awfulness of it all. How, you ask? Well, I went through said book and counted the number of things you had to learn in the first chapter and came up with a total 17!

17 things, Bob.

Only two of those were actually Ruby and Rails. The oth
Dec 29, 2008 rated it it was amazing
The Little Schemer is geared toward luring you into first the syntax, then the concepts behind Scheme, recursion, and functional programming. While probably of most interest to programmers or the mathematically inclined, the book claims to have been based off lecture notes for liberal arts students.

The book has a very interesting dialog mechanism for teaching. After the introduction, there is little to nothing in the way of paragraphs of information. Instead, it is more of a lightweight Q&A whic
Jon Gauthier
Oct 09, 2012 rated it it was amazing
Recommends it for: Beginning Lisp / FP students
A really fun read that reinforced my understanding of recursion and some FP concepts. Intermediate Lispers or people with a good grasp of basic functional programming can safely jump forward at least a few chapters (though you'll miss some function definitions used later on).

I was unsure about this book (it seemed a little basic) until I reached the section on continuations. From that point on, I was pretty amazed by the code. You'll find Y-combinators and metacircular interpreters explained in
Feb 12, 2013 rated it really liked it
Shelves: utilitas, to-consider, 02
Thoroughly didactic, and a considerable brain twister, this book and its exercises did a great deal for my programming skills. In particular, it furnishes stepping stones of a craft to decompose computing problems into recursive solutions.

I found the last two chapters fiercely difficult, and cannot say that I truly retained them. However, I greatly enjoyed the opportunity to glimpse deeper mathematical aspects of the lambda calculus.

For anyone wishing to learn a lisp-like, I thorough recommend t
Jul 13, 2013 rated it it was ok
This book is a series of questions geared towards helping the the reader learn the material by figuring out the answers.

I think this book is best studied, rather than read, in short bites, taking plenty of time to understand each concept. I'm finding I can get through 2 or 3 pages per sitting. The book builds on prior concepts to aid in understanding new concepts.

So far, its taught me more about LISP than any other book, white paper or man page I've read.

Next I need to start reading 'An Introduc
Jul 31, 2013 rated it it was amazing
This is one of those books that changed me. By following a set of "commandments" presented in this book I learned to think clearly about functional programming, recursion and the Y-combinator. It also helped me ease into currying and other combinators like the S, K and I.

After you read this book, you should read "To Mock a Mockingbird" and also start learning Haskell.

The power of types in Haskell will one day compel you to understand the language of Category theory in mathematics, and after you
Oct 13, 2010 rated it really liked it
Shelves: programming, lisp
The Little Schemer is a classic computer science text and there are very good reasons for it: it's poignant, entertaining and teaches you more about Lisp than many of the bigger books around. This is not a complete guide to Scheme as a programming language, it's a book about concepts. Highly recommended!
Mar 17, 2015 rated it it was amazing
Easily one of the solid and neat introductory books to LISP. Used Racket lang with IDE as DrRacket to code and learn alongside this book. What is K&R for C Programmers, this book series by Daniel P Friedman, could be for people wanting to learn LISP. Going through this book allows people to think about programming in a new thinking way. ...more
Subhrendu Sarkar
Dec 27, 2014 rated it it was amazing
One of the best scheme books till date.
Profoundly simple, easy and powerful.

Hope all books can be this easy.
Sep 19, 2013 rated it it was amazing
Teaching entirely novel things is hard. Teaching a person to appreciate the need for something before that something has been given a name is even harder. It's not done in undergraduate Java-school computer science. It's vital that we convey the jargon. Polymorphism, encapsulation and inheritance are definitions we're taught because we know that HR people who interview us will ask these questions. Clearly a strong indicator of computer programming acumen is the ability to spout the jargon, right ...more
Gaelan D'costa
Reader response, freshly finished: Unsure how I feel about this book.

I really love the didactic style. I found it easy to keep pace. It taught Scheme in a really digestible way .... until the end.

At least, I think it stopped being that digestible by the end. As someone who knows Scheme and understands the concepts (reasonably well), I found slowing down to be difficult, and I also didn't feel the book convinced me why I'd go through the contortions the latter half of the book made me go through.
Mar 25, 2015 rated it it was amazing
This review has been hidden because it contains spoilers. To view it, click here.
Robert Postill
Jan 16, 2012 rated it it was amazing
It's difficult to express how interesting this book is. The format is a set of questions and answers, which is initially quite an odd read. However as the book unfolds you begin not only to appreciate the book's quirky style but also the power of the lessons contained within the book. It is a testament to the power of the material that by the last chapter you have sculpted a scheme interpreter from the bones of some really simple functions at the start of the book. In fact what this book demonst ...more
Jan 07, 2015 rated it it was ok
I really wanted to like this book, alas it was not for me.

I was looking for a deep, philosophical computer science book using scheme. The book makes seems to have two assumptions:

1. You already are somewhat familiar with scheme.

2. You do not know what recursion is.

Of course, if you have any familiarity with scheme then you are likely quite familiar with recursion. I already knew scheme but can imagine someone coming to it with no background being a bit confused when terms are given with no expl
Koen Crolla
Sep 26, 2013 rated it it was ok
I expected to enjoy this a lot more than I did. If you're looking to learn Scheme but don't have any experience with it whatsoever—and especially if you don't have any experience programming at all—this book will be near worthless to you. If you already have some experience but would like to flesh it out a bit more, like I did, its gimmicks will get on your nerves really quickly.
The Little Schemer spends a tremendous amount of time focussing on trivialities while skipping over far too many funda
Jan 10, 2015 rated it really liked it
Shelves: computer-science
I've been super curious about Lisp since Hackers & Painters . Then I found this book. It is a spoonful (yes in the sense of Food) of Scheme, a flavor of Lisp.

First and last impression: Lisp IS abstract. People are right. It can be practical but, this is purely abstract. It does not feel like a programming language, not like any of the languages I know, but some mathematical syntaxes. It defines primitive functions then builds more complicated ones on top of them using recursions. Recursions aft
Dec 27, 2013 rated it it was amazing
What a wonderful little book! It's surprising how much is learned by figuring things out on your own from questions and answers and not reading lengthy explanations as in other books. I think that helps to engage the reader and adds more interactivity. I wonder if more books can benefit from such a form...

Little Schemer is also amazing in that it starts extremely easy, but the last 2 chapters are devoted to the Y combinator and a scheme interpreter which are not easy at all! And along the way it
Bowei Zhang
Jul 19, 2015 rated it it was amazing
At first I was expecting a book to brush up my functional programming skills. But after I finished the first seven chapters in around 4 hours, I realized it was actually a book to teach basics of programming, in a fun way of course. However, as it continues on harder topics like continuation and Y combinator, things are getting more interesting. I really didn’t feel like I was actually LEARNING something, instead I simply picked up essential ideas during those set-up communications. It was reall ...more
Evan Snyder
Mar 29, 2014 rated it it was amazing
Shelves: comp-sci
Great great GREAT read that teaches you how to think recursively. I typically don't give technical books 5 stars, because as as helpful as they are, they usually aren't game-changing. While I understood what recursion is and how it works, I always struggled writing recursive code...until now. The book is written entirely in a question and answer format, which I found disconcerting at first, but turned out to be immensely effective. The book centers around the language LISP, but, even if you will ...more
David Hoyt
Aug 29, 2011 rated it it was amazing
Shelves: hardcopy, stem
Update of the absolute classic "The Little Lisper". One of the first books any budding programmer should read.

It's not a guide to writing commercial programs. Rather it's a guide to write programs well. The basic concepts and constraints within the functional language and it's simple syntax forces the budding programmer into a mindset for programming excellence in the future.

That is not to say many programs have not been written in Scheme. This a simple introduction of the basics of programming,
Josh Taylor
Feb 06, 2019 rated it it was amazing
Truly a spiritual experience. I felt like I have seen into the eye of computation, and it stared back at me. Slowly it whispered ... 'λ'. It got louder. 'λ ... λ ... λ'. Nothing made sense any more. I saw complexities collapsing into simplicities and simplicities expanding back into complexities. Everything became a sum, a product, an evaluation. Add, minus, car, cdr.

When I awoke from this dream I found my laptop left on with a copy of this book next to it. Was pretty cool I guess.

Although far m
Suvash Thapaliya
Jul 06, 2015 rated it it was amazing
Is this a great book ? Oh yes, absolutely. So glad to have finally read my first pass through it. The last two chapters were real good mind benders for me. Will def. be re-reading this multiple times.
Mitchell Kember
Dec 07, 2014 rated it it was amazing
Brilliant book that teaches you how to think recursively.
Mar 16, 2015 rated it really liked it
Awesome book. It really changed the way I thought about programming.
« previous 1 3 4 next »
There are no discussion topics on this book yet. Be the first to start one »

Readers also enjoyed

  • Structure and Interpretation of Computer Programs (MIT Electrical Engineering and Computer Science)
  • Introduction to Algorithms
  • Learn You a Haskell for Great Good!
  • Cracking the Coding Interview: 150 Programming Questions and Solutions
  • The Pragmatic Programmer: From Journeyman to Master
  • The C Programming Language
  • Programming Pearls
  • Code: The Hidden Language of Computer Hardware and Software
  • The Practice of Programming (Addison-Wesley Professional Computing Series)
  • Clean Code: A Handbook of Agile Software Craftsmanship
  • Design Patterns: Elements of Reusable Object-Oriented Software
  • The Clean Coder: A Code of Conduct for Professional Programmers
  • Refactoring: Improving the Design of Existing Code
  • Effective Java
  • Compilers: Principles, Techniques, and Tools
  • Getting Real: The Smarter, Faster, Easier Way to Build a Web Application
  • Effective C++: 55 Specific Ways to Improve Your Programs and Designs
  • The Cathedral & the Bazaar: Musings on Linux and Open Source by an Accidental Revolutionary
See similar books…

Goodreads is hiring!

If you like books and love to build cool products, we may be looking for you.
Learn more »
Daniel P. Friedman is Professor of Computer Science in the School of Informatics, Computing, and Engineering at Indiana University and is the author of many books published by the MIT Press, including The Little Schemer and The Seasoned Schemer (with Matthias Felleisen); The Little Prover (with Carl Eastlund); and The Reasoned Schemer (with William E. Byrd, Oleg Kiselyov, and Jason Hemann).

Other books in the series

The Little Schemer (3 books)
  • The Reasoned Schemer
  • The Seasoned Schemer, Second Edition

Related Articles

In these strange days of quarantine and isolation, books can be a mode of transport. We may have to stay home and stay still, but through t...
50 likes · 28 comments
“Go cons a piece of cake onto your mouth.” 1 likes
More quotes…