Masdar Wireless Businessman, Computer Scientist, Blogger

Scheme and the Art of Programming

Right now I am reading the book by Daniel P. Friedman, “Scheme and the Art of Programming”. It is known to all that a teaching (lesson) is not complete without the teaching reflections. A book-reading process is also not complete without picking up some notes, writing some reviews and providing feedback to yourself as well as the authors.

So in this post I will write down all I see and all that I want to say. Hope it would be of a little help to you.

And therefore this post is mainly organized in the order of TOC of the book.


The most important concept in all computer science is abstraction.

  • Abstraction: give something a name.
  • Reference: mention something by name.
  • Synthesis: combine two things to make a complex.

  • Here lies the rest of the ingenuity, the startling generalizing principle: the objects to be combined are instances of the abstraction mechanism itself!

  • An important exception is static type checking.
  • Scheme focuses particular attention on the concepts of abstraction and gen- erality to an extreme unmatched by any other programming language on my list. All objects in the language may be named, by a single uniform naming mechanism. All objects are first class.