Structure and Interpretation of Computer Programs (117 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
8.84Mb size Format: txt, pdf, ePub

qeval
,
[2]
quantum mechanics
quasiquote
queens
query
,
see also
simple query; compound query
query interpreter
    
adding rule or assertion
    compound query,
see
compound query
    
data base
    
driver loop
,
[2]
    
environment structure in
    
frame
,
[2]
    
improvements to
,
[2]
,
[3]
    
infinite loops
,
[2]
    
instantiation
    
Lisp interpreter vs.
,
[2]
,
[3]
    
overview
    
pattern matching
,
[2]
    
pattern-variable representation
,
[2]
    
problems with
not
and
lisp-value
,
[2]
    
query evaluator
,
[2]
    rule,
see
rule
    simple query,
see
simple query
    
stream operations
    
streams of frames
,
[2]
    
syntax of query language
    
unification
,
[2]
query language
,
[2]
    
abstraction in
    compound query,
see
compound query
    
data base
    
equality testing in
    
extensions to
,
[2]
    
logical deductions
    
mathematical logic vs.
    rule,
see
rule
    simple query,
see
simple query
query-driver-loop
question mark, in predicate names
queue
    
double-ended
    
front of
    
operations on
    
procedural implementation of
    
rear of
    
in simulation agenda
quotation
    
of character strings
    
of Lisp data objects
    
in natural language
quotation mark, single vs. double
quote
(special form)
    
read
and
,
[2]
quoted?
quotient
(primitive procedure)

Rabin, Michael O.
radicand
Ramanujan numbers
Ramanujan, Srinivasa
rand
    
with reset
random
(primitive procedure)
    
assignment needed for
    
MIT Scheme
random-in-range
random-number generator
,
[2]
    
in Monte Carlo simulation
    
in primality testing
    
with reset
    
with reset, stream version
random-numbers
(infinite stream)
Raphael, Bertram
rational
package
rational function
    
reducing to lowest terms
rational number(s)
    
arithmetic operations on
    
in MIT Scheme
    
printing
    
reducing to lowest terms
,
[2]
    
represented as pairs
rational-number arithmetic
    
interfaced to generic arithmetic system
    
need for compound data
Raymond, Eric
,
[2]
RC circuit
read
(primitive procedure)
    
dotted-tail notation handling by
    
macro characters
read
operation in register machine
read-eval-print loop
,
see also
driver loop
read-eval-print-loop
reader macro character
real number
real-part
    
data-directed
    
polar representation
    
rectangular representation
    
with tagged data
real-part-polar
real-part-rectangular
rear-ptr
receive
procedure
record, in a data base
rectangle, representing
rectangular
package
rectangular?
recursion
    
data-directed
    
expressing complicated process
    
in rules
    
in working with trees
recursion equations
recursion theory
recursive procedure
    
recursive procedure definition
    
recursive process vs.
    
specifying without
define
recursive process
    
iterative process vs.
,
[2]
,
[3]
,
[4]
    
linear
,
[2]
    
recursive procedure vs.
    
register machine for
    
tree
,
[2]
red-black tree
reducing to lowest terms
,
[2]
,
[3]
Rees, Jonathan A.
,
[2]
referential transparency
reg
(in register machine)
    
simulating
register machine
    
actions
    
controller
    
controller diagram
    
data paths
    
data-path diagram
    
design of
    
language for describing
    
monitoring performance
    
simulator
    
stack
    
subroutine
    
test operation
register table, in simulator
register(s)
    
representing
    
tracing
register-exp
register-exp-reg
register-machine language
    
assign
,
[2]
    
branch
,
[2]
    
const
,
[2]
,
[3]
    
entry point
    
goto
,
[2]
    
instructions
,
[2]
    
label
    
label
,
[2]
    
op
,
[2]
    
perform
,
[2]
    
reg
,
[2]
    
restore
,
[2]
    
save
,
[2]
    
test
,
[2]
register-machine simulator
registers-modified
registers-needed
relations, computing in terms of
,
[2]
relatively prime
relativity, theory of
release a mutex
remainder
(primitive procedure)
remainder modulo
n
remainder-terms
remove
remove-first-agenda-item!
,
[2]
require
    
as a special form
reserved words
,
[2]
resistance
    
formula for parallel resistors
,
[2]
    
tolerance of resistors
resolution principle
resolution, Horn-clause
rest-exps
rest-operands
rest-segments
rest-terms
,
[2]
restore
(in register machine)
,
[2]
    
implementing
    
simulating
return
(linkage descriptor)
returning multiple values
Reuter, Andreas
reverse
    
as folding
    
rules
Rhind Papyrus
right-branch
,
[2]
right-split
ripple-carry adder
Rivest, Ronald L.
,
[2]
RLC circuit
Robinson, J. A.
robustness
rock songs, 1950s
Rogers, William Barton
root
register
roots of equation,
see
half-interval method; Newton's method
rotate90
round
(primitive procedure)
roundoff error
,
[2]
Rozas, Guillermo Juan
RSA algorithm
rule (query language)
    
applying
,
[2]
,
[3]
    
without body
,
[2]
,
[3]
Runkle, John Daniel
runtime
(primitive procedure)
Russian peasant method of multiplication

same
(rule)
same-variable?
,
[2]
sameness and change
    
meaning of
    
shared data and
satisfy a compound query
satisfy a pattern (simple query)
save
(in register machine)
,
[2]
    
implementing
    
simulating
scale-list
,
[2]
,
[3]
scale-stream
scale-tree
,
[2]
scale-vect
scan
register
scan-out-defines
scanning out internal definitions
    
in compiler
,
[2]
Scheme
    
history of
Scheme chip
,
[2]
scheme-number
package
scheme-number->complex
scheme-number->scheme-number
Schmidt, Eric
scope of a variable
,
see also
lexical scoping
    
internal
define
    
in
let
    
procedure's formal parameters
search
    
of binary tree
    
depth-first
    
systematic
search
secretary, importance of
segment-queue
segment-time
segments
segments->painter
selector
    
as abstraction barrier
    
generic
,
[2]
self-evaluating expression
self-evaluating?
semaphore
    
of size
n
semicolon
    
comment introduced by
separator code
sequence accelerator
sequence of expressions
    
in consequent of
cond
    
in procedure body
sequence(s)
    
as conventional interface
    
as source of modularity
    
operations on
    
represented by pairs
sequence->exp
serialized-exchange
    
with deadlock avoidance
serializer
    
implementing
    
with multiple shared resources
series, summation of
    
accelerating sequence of approximations
    
with streams
set
    
set
        
(special form),
see also
assignment
    
data base as
    
operations on
    
permutations of
    
represented as binary tree
    
represented as ordered list
    
represented as unordered list
    
subsets of
set!
(special form)
    
environment model of
    
value of
set-car!
(primitive procedure)
    
implemented with vectors
    
procedural implementation of
    
value of
set-cdr!
(primitive procedure)
    
implemented with vectors
    
procedural implementation of
    
value of
set-contents!
set-current-time!
set-front-ptr!
set-instruction-execution-proc!
set-rear-ptr!
set-register-contents!
,
[2]
set-segments!
set-signal!
,
[2]
set-value!
,
[2]
set-variable-value!
,
[2]
setup-environment
shadow a binding
Shamir, Adi
shape of a process
shared data
shared resources
shared state
shrink-to-upper-right
Shrobe, Howard E.
side-effect bug
sieve of Eratosthenes
    
sieve
sum (sigma) notation
signal processing
    
smoothing a function
    
smoothing a signal
,
[2]
    
stream model of
    
zero crossings of a signal
,
[2]
,
[3]
signal, digital
signal-error
signal-flow diagram
,
[2]
signal-processing view of computation
simple query
    
processing
,
[2]
,
[3]
,
[4]
simple-query
simplification of algebraic expressions
Simpson's Rule for numerical integration
simulation
    of digital circuit,
see
digital-circuit simulation
    
event-driven
    
as machine-design tool
    
for monitoring performance of register machine
    Monte Carlo,
see
Monte Carlo simulation
    of register machine,
see
register-machine simulator
sin
(primitive procedure)
sine
    
approximation for small angle
    
power series for
singleton-stream
SKETCHPAD
smallest-divisor
    
more efficient version
Smalltalk
smoothing a function
smoothing a signal
,
[2]
snarf
Solar System's chaotic dynamics
Solomonoff, Ray
solve
differential equation
,
[2]
    
lazy-list version
    
with scanned-out definitions
solving equation,
see
half-interval method; Newton's method;
solve
source language
source program
Spafford, Eugene H.
sparse polynomial
special form
    
as derived expression in evaluator
    
need for
    
procedure vs.
,
[2]
special forms (those marked
ns
are not in the IEEE Scheme standard)
    
and
    
begin
    
cond
    
cons-stream
(
ns
)
    
define
,
[2]
    
delay
(
ns
)
    
if
    
lambda
    
let
    
let*
    
letrec
    
named
let
    
or
    
quote
    
set!
split
sqrt
    
block structured
    
in environment model
    
as fixed point
,
[2]
,
[3]
,
[4]
    
as iterative improvement
    
with Newton's method
,
[2]
    
register machine for
    
as stream limit
sqrt-stream
square
    
in environment model
square root
,
see also
sqrt
    
stream of approximations
square-limit
,
[2]
square-of-four
squarer
(constraint)
,
[2]
squash-inwards
stack
    
framed
    
for recursion in register machine
    
representing
,
[2]
stack allocation and tail recursion
stack-inst-reg-name
Stallman, Richard M.
,
[2]
start
register machine
,
[2]
start-eceval
start-segment
,
[2]
state
    local,
see
local state
    
shared
    
vanishes in stream formulation
state variable
,
[2]
    
local
statements,
see
instruction sequence
statements
Steele, Guy Lewis Jr.
,
[2]
,
[3]
,
[4]
,
[5]
,
[6]
stop-and-copy garbage collector
Stoy, Joseph E.
,
[2]
,
[3]
Strachey, Christopher
stratified design
stream(s)
,
[2]
    
delayed evaluation and
    
empty
    
implemented as delayed lists
    
implemented as lazy lists
    
implicit definition
    infinite,
see
infinite streams
    
used in query interpreter
,
[2]
stream-append
stream-append-delayed
stream-car
,
[2]
stream-cdr
,
[2]
stream-enumerate-interval
stream-filter
stream-flatmap
,
[2]
stream-for-each
stream-limit
stream-map
    
with multiple arguments
stream-null?
    
in MIT Scheme
stream-ref
stream-withdraw
strict
string,
see
character string
strongly typed language
sub
(generic)
sub-complex
sub-interval
sub-rat
sub-vect
subroutine in register machine
subsets
of a set
substitution model of procedure application
,
[2]
    
inadequacy of
    
shape of process
subtype
    
multiple
success continuation (nondeterministic evaluator)
,
[2]
successive squaring
sum
    
as accumulation
    
iterative version
sum-cubes
    
with higher-order procedures
sum-integers
    
with higher-order procedures
sum-odd-squares
,
[2]
sum-of-squares
    
in environment model
sum-primes
,
[2]
sum?
summation of a series
    
with streams
supertype
    
multiple
Sussman, Gerald Jay
,
[2]
,
[3]
,
[4]
,
[5]
,
[6]
,
[7]
Sussman, Julie Esther Mazel, nieces of
Sutherland, Ivan
symbol(s)
    
equality of
    
interning
    
quotation of
    
representation of
    
uniqueness of
symbol-leaf
symbol?
(primitive procedure)
    
data types and
    
implemented with typed pointers
symbolic algebra
symbolic differentiation
,
[2]
symbolic expression
,
see also
symbol(s)
symbols
SYNC
synchronization,
see
concurrency
syntactic analysis, separated from execution
    
in metacircular evaluator
    
in register-machine simulator
,
[2]
syntactic sugar
    
define
    
let
as
    
looping constructs as
    
procedure vs. data as
syntax,
see also
special forms
    abstract,
see
abstract syntax
    
of expressions, describing
    
of a programming language
syntax interface
systematic search

Other books

The Fisher Lass by Margaret Dickinson
Soul of the Dragon by Natalie J. Damschroder
Death Wish by Trina M Lee
What's Left of Me by Maxlyn, Amanda
Chase of a Lifetime by Ryan Field
Makeover Magic by Jill Santopolo
The Invisible Ones by Stef Penney