Structure and interpretation of computer programs - Abelson, Harold, 1947- (The MIT electrical engeneering and computing science series, 1985)