The little schemer is really good.
The first time I read it I was like "WTF are they trying to talk about ?"
Then after a certain amount of time an re-reading.
I began to see how they try to teach you, and it's actually really simple. (I felt retarded when I saw that)
The thing is like it's explained in the preface is that you must not go to the other chapter before understanding what the last chapter was about.
it goes like this
"is it true that this is an atom?"
atom
response:
Yes, because "atom" is a string of characters beginning with the letter a.
"is it true that this is an atom?"
turkey
response:
Yes, because "turkey" is a string of characters beginning with a letter.
"is it true that this is an atom?"
1492
response:
Yes, because "1942" is a string of digits.
"is it true that this is an atom?"
u
response:
Yes, because "u" is a string of one character, witch is a letter.
"is it true that this is an atom?"
*abc$
response:
Yes, because "*abc$" is a string of characters beginning with a letter or special character other than a left "(" or right ")" parenthesis.
"is it true that this is an atom?"
(atom)
response:
Yes, because (atom) is an atom enclosed by parentheses.
is it true that this is a list?
(atom turkey or)
response:
Yes, because it is a collection of atoms enclosed by parentheses.
is it true that this is a list?
(atom turkey) or
response:
no, because these are actually two S-expressions not enclosed by parentheses.
The first one is a list containing two atoms, and the second one is an atom.
is it true that this is a list?
((atom turkey) or)
response:
yes, because the two S-expressions are now enclosed by parentheses
Is it true that this is an S-expression ?
xyz
response:
yes because all atoms are S-expressions.
Is it true that this is an S-expression ?
(xyz)
response:
yes because it's a list.
is it true that this is a list ?
(how are you doing so far)
response:
yes, because it is a collection of S-expression enclosed by parentheses.
and it goes one.
This book is something that all programming schools should teach.