Structure and Interpretation of Computer Programs, Second Edition

By Harold Abelson, Gerald Jay Sussman, Julie Sussman

4 Readers

Lawrence

Brian

Jason

Vinil


Adam Spooner Structure and Interpretation of Computer Programs, Second Edition

if: a restricted type of conditional that can be used when there are precisely two cases in the case analysis.

Comment ·

Adam Spooner Structure and Interpretation of Computer Programs, Second Edition

This alternative "fully expand and then reduce" evaluation method is known as normal-order evaluation, in contrast to the "evaluate the arguments and then apply" method that the interpreter actually uses, which is called applicative-order evaluation. It can be shown that, for procedure applications that can be modeled using substitution and that yield legitimate values, normal-order and applicative-order evaluation produce the same value.

Comment ·

Adam Spooner Structure and Interpretation of Computer Programs, Second Edition

In general, when modeling phenomena in science and engineering, we begin with simplified, incomplete models. As we examine things in greater detail, these simple models become inadequate and must be replaced by more refined models.

Comment ·

Adam Spooner Structure and Interpretation of Computer Programs, Second Edition

iewing evaluation in terms of the tree, we can imagine that the values of the operands percolate upward, starting from the terminal nodes and then combining at higher and higher levels. In general, we shall see that recursion is a very powerful technique for dealing with hierarchical, treelike objects. In fact, the "percolate values upward" form of the evaluation rule is an example of a general kind of process known as tree accumulation.

Comment ·

Adam Spooner Structure and Interpretation of Computer Programs, Second Edition

It should be clear that the possibility of associating values with symbols and later retrieving them means that the interpreter must maintain some sort of memory that keeps track of the name-object pairs. This memory is called the environment (more precisely the global environment, since we will see later that a computation may involve a number of different environments).

Comment ·

Adam Spooner Structure and Interpretation of Computer Programs, Second Edition

A second advantage of prefix notation is that it extends in a straightforward way to allow combinations to be nested, that is, to have combinations whose elements are themselves combinations.

Comment ·

Adam Spooner Structure and Interpretation of Computer Programs, Second Edition

The convention of placing the operator to the left of the operands is known as prefix notation, and it may be somewhat confusing at first because it departs significantly from the customary mathematical convention. Prefix notation has several advantages, however. One of them is that it can accommodate procedures that may take an arbitrary number of arguments.

Comment ·

Adam Spooner Structure and Interpretation of Computer Programs, Second Edition

Thus, when we describe a language, we should pay particular attention to the means that the language provides for combining simple ideas to form more complex ideas. Every powerful language has three mechanisms for accomplishing this: primitive expressions, which represent the simplest entities the language is concerned with, means of combination, by which compound elements are built from simpler ones, and means of abstraction, by which compound elements can be named and manipulated as units.

Comment ·

Adam Spooner Structure and Interpretation of Computer Programs, Second Edition

Lisp, whose name is an acronym for LISt Processing, was designed to provide symbol-manipulating capabilities for attacking programming problems such as the symbolic differentiation and integration of algebraic expressions. It included for this purpose new data objects known as atoms and lists, which most strikingly set it apart from all other languages of the period.

Comment ·

Adam Spooner Structure and Interpretation of Computer Programs, Second Edition

The acts of the mind, wherein it exerts its power over simple ideas, are chiefly these three: 1. Combining several simple ideas into one compound one, and thus all complex ideas are made. 2. The second is bringing two ideas, whether simple or complex, together, and setting them by one another so as to take a view of them at once, without uniting them into one, by which it gets all its ideas of relations. 3. The third is separating them from all other ideas that accompany them in their real existence: this is called abstraction, and thus all its general ideas are made.

—John Locke

Comment ·

Prev Next