Structure and Interpretation of Computer Programs (113 page)

Read Structure and Interpretation of Computer Programs Online

Authors: Harold Abelson and Gerald Jay Sussman with Julie Sussman

BOOK: Structure and Interpretation of Computer Programs
10.48Mb size Format: txt, pdf, ePub

Darlington, John
data
,
[2]
    
abstract
,
see also
data abstraction
    
abstract models for
    
algebraic specification for
    
compound
    
concrete representation of
    
hierarchical
,
[2]
    
list-structured
    
meaning of
    mutable,
see
mutable data objects
    
numerical
    
procedural representation of
    
as program
    
shared
    
symbolic
    
tagged
,
[2]
data abstraction
,
[2]
,
[3]
,
[4]
,
[5]
,
see also
metacircular evaluator
    
for queue
data base
    
data-directed programming and
    
indexing
,
[2]
    
Insatiable Enterprises personnel
    
logic programming and
    
Microshaft personnel
    
as set of records
data paths for register machine
    
data-path diagram
data types
    
in Lisp
    
in strongly typed languages
data-directed programming
,
[2]
    
case analysis vs.
    
in metacircular evaluator
    
in query interpreter
data-directed recursion
deadlock
    
avoidance
    
recovery
debug
decimal point in numbers
declarative vs. imperative knowledge
,
[2]
    
logic programming and
,
[2]
    
nondeterministic computing and
decode
decomposition of program into parts
deep binding
deep-reverse
deferred operations
define
(special form)
    
with dotted-tail notation
    
environment model of
    
lambda
vs.
    
for procedures
,
[2]
    
syntactic sugar
    
value of
    
why a special form
define
(special form)
    internal,
see
internal definition
define-variable!
,
[2]
definite integral
    
estimated with Monte Carlo simulation
,
[2]
definition,
see
define
; internal definition
definition-value
definition-variable
definition?
deKleer, Johan
,
[2]
delay
(special form)
    
explicit
    
explicit vs. automatic
    
implementation using
lambda
    
lazy evaluation and
    
memoized
,
[2]
    
why a special form
delay, in digital circuit
delay-it
delayed argument
delayed evaluation
,
[2]
    
assignment and
    
explicit vs. automatic
    
in lazy evaluator
    
normal-order evaluation and
    
printing and
    
streams and
delayed object
delete-queue!
,
[2]
denom
,
[2]
    
axiom for
    
reducing to lowest terms
dense polynomial
dependency-directed backtracking
deposit
, with external serializer
deposit
message for bank account
depth-first search
deque
deriv
(numerical)
deriv
(symbolic)
    
data-directed
derivative of a function
derived expressions in evaluator
    
adding to explicit-control evaluator
design, stratified
differential equation
,
see also
solve
    
second-order
,
[2]
differentiation
    
numerical
    
rules for
,
[2]
    
symbolic
,
[2]
diffusion, simulation of
digital signal
digital-circuit simulation
    
agenda
    
agenda implementation
    
primitive function boxes
    
representing wires
    
sample simulation
Dijkstra, Edsger Wybe
Dinesman, Howard P.
Diophantus's
Arithmetic
, Fermat's copy of
disjoin
dispatching
    
comparing different styles
    
on type
,
see also
data-directed programming
display
(primitive procedure)
,
[2]
display-line
display-stream
distinct?
div
(generic)
div-complex
div-interval
    
division by zero
div-poly
div-rat
div-series
div-terms
divides?
divisible?
division of integers
dog, perfectly rational, behavior of
DOS/Windows
dot-product
dotted-tail notation
    
for procedure parameters
,
[2]
    
in query pattern
,
[2]
    
in query-language rule
    
read
and
Doyle, Jon
draw-line
driver loop
    
in explicit-control evaluator
    
in lazy evaluator
    
in metacircular evaluator
    
in nondeterministic evaluator
,
[2]
    
in query interpreter
,
[2]
driver-loop
    
for lazy evaluator
    
for metacircular evaluator
    
for nondeterministic evaluator

e
    
as continued fraction
    
as solution to differential equation
e
x
, power series for
Earth, measuring circumference of
edge1-frame
edge2-frame
efficiency,
see also
order of growth,
see also
order of growth
    
of compilation
    
of data-base access
    
of evaluation
    
of Lisp
    
of query processing
    
of tree-recursive process
EIEIO
eight-queens puzzle
,
[2]
electrical circuits, modeled with streams
,
[2]
element-of-set?
    
binary-tree representation
    
ordered-list representation
    
unordered-list representation
else
(special symbol in
cond
)
embedded language, language design using
empty list
    
denoted as
'()
    
recognizing with
null?
empty stream
empty-agenda?
,
[2]
empty-arglist
empty-instruction-sequence
empty-queue?
,
[2]
empty-termlist?
,
[2]
encapsulated name
enclosing environment
enclosing-environment
encode
end-of-list marker
end-segment
,
[2]
end-with-linkage
engineering vs. mathematics
entry
enumerate-interval
enumerate-tree
enumerator
env
register
environment
,
[2]
    compile-time,
see
compile-time environment
    
as context for evaluation
    
enclosing
    global,
see
global environment
    
lexical scoping and
    
in query interpreter
    
renaming vs.
environment model of evaluation
,
[2]
    
environment structure
    
internal definitions
    
local state
    
message passing
    
metacircular evaluator and
    
procedure-application example
    
rules for evaluation
    
tail recursion and
eq?
(primitive procedure)
    
for arbitrary objects
    
as equality of pointers
,
[2]
    
implementation for symbols
    
numerical equality and
equ?
(generic predicate)
equal-rat?
equal?
equality
    
in generic arithmetic system
    
of lists
    
of numbers
,
[2]
,
[3]
    
referential transparency and
    
of symbols
equation, solving,
see
half-interval method; Newton's method;
solve
Eratosthenes
error
(primitive procedure)
error handling
    
in compiled code
    
in explicit-control evaluator
,
[2]
Escher, Maurits Cornelis
estimate-integral
estimate-pi
,
[2]
Euclid's Algorithm
,
[2]
,
see also
greatest common divisor
    
order of growth
    
for polynomials
Euclid's
Elements
Euclid's proof of infinite number of primes
Euclidean ring
Euler, Leonhard
    
proof of Fermat's Little Theorem
    
series accelerator
euler-transform
ev-application
ev-assignment
ev-begin
ev-definition
ev-if
ev-lambda
ev-quoted
ev-self-eval
ev-sequence
    
with tail recursion
    
without tail recursion
ev-variable
eval
(lazy)
eval
(metacircular)
,
[2]
    
analyzing version
    
data-directed
    
primitive
eval
vs.
eval
(primitive procedure)
    
MIT Scheme
    
used in query interpreter
eval-assignment
eval-definition
eval-dispatch
eval-if
(lazy)
eval-if
(metacircular)
eval-sequence
evaluation
    applicative-order,
see
applicative-order evaluation
    delayed,
see
delayed evaluation
    environment model of,
see
environment model of evaluation
    
models of
    normal-order,
see
normal-order evaluation
    
of a combination
    
of
and
    
of
cond
    
of
if
    
of
or
    
of primitive expressions
    
of special forms
    order of subexpression evaluation,
see
order of evaluation
    substitution model of,
see
substitution model of procedure application
evaluator
,
see also
interpreter
    
as abstract machine
    
metacircular
    
as universal machine
evaluators,
see
metacircular evaluator; analyzing evaluator; lazy evaluator; nondeterministic evaluator; query interpreter; explicit-control evaluator
even-fibs
,
[2]
even?
evening star,
see
Venus
event-driven simulation
evlis tail recursion
exact integer
exchange
exclamation point in names
execute
execute-application
    
metacircular
    
nondeterministic
execution procedure
    
in analyzing evaluator
    
in nondeterministic evaluator
,
[2]
,
[3]
    
in register-machine simulator
,
[2]
exp
register
expand-clauses
explicit-control evaluator for Scheme
    
assignments
    
combinations
    
compound procedures
    
conditionals
    
controller
    
data paths
    
definitions
    
derived expressions
    
driver loop
    
error handling
,
[2]
    
expressions with no subexpressions to evaluate
    
as machine-language program
    
machine model
    
modified for compiled code
    
monitoring performance (stack use)
    
normal-order evaluation
    
operand evaluation
    
operations
    
optimizations (additional)
    
primitive procedures
    
procedure application
    
registers
    
running
    
sequences of expressions
    
special forms (additional)
,
[2]
    
stack usage
    
tail recursion
,
[2]
,
[3]
    
as universal machine
expmod
,
[2]
,
[3]
exponential growth
    
of tree-recursive Fibonacci-number computation
exponentiation
    
modulo
n
expression,
see also
compound expression; primitive expression
    algebraic,
see
algebraic expressions
    
self-evaluating
    
symbolic
,
see also
symbol(s)
expression-oriented vs. imperative programming style
expt
    
linear iterative version
    
linear recursive version
    
register machine for
extend-environment
,
[2]
extend-if-consistent
extend-if-possible
external-entry
extract-labels
,
[2]

Other books

Solomon's Porch by Wid Bastian
The Last Thing by Briana Gaitan
The Canon by Natalie Angier
El asesino hipocondríaco by Juan Jacinto Muñoz Rengel
Everspell by Samantha Combs
Cross by Ken Bruen
The New Madrid Run by Michael Reisig
Escaping Fate by Delsheree Gladden
The Price of Pleasure by Joanna Wylde