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

Jayaraman, Sundaresan

Kaldewaij, Anne
Karr, Alphonse
Kepler, Johannes
key
key of a record
    
in a data base
    
in a table
    
testing equality of
Khayyam, Omar
Knuth, Donald E.
,
[2]
,
[3]
,
[4]
,
[5]
,
[6]
,
[7]
Kohlbecker, Eugene Edmund, Jr.
Kolmogorov, A. N.
Konopasek, Milos
Kowalski, Robert
KRC
,
[2]

label
(in register machine)
    
simulating
label-exp
label-exp-label
Lagrange interpolation formula
λ calculus (lambda calculus)
lambda
(special form)
    
define
vs.
    
with dotted-tail notation
lambda
expression
    
as operator of combination
    
value of
lambda-body
lambda-parameters
lambda?
Lambert, J.H.
Lamé, Gabriel
Lamé's Theorem
Lamport, Leslie
Lampson, Butler
Landin, Peter
,
[2]
language,
see
natural language; programming language
Lapalme, Guy
last-exp?
last-operand?
last-pair
,
[2]
    
rules
lazy evaluation
lazy evaluator
lazy list
lazy pair
lazy tree
leaf?
least commitment, principle of
lecture, something to do during
left-branch
,
[2]
Leibniz, Baron Gottfried Wilhelm von
    
proof of Fermat's Little Theorem
    
series for π
,
[2]
Leiserson, Charles E.
,
[2]
length
    
as accumulation
    
iterative version
    
recursive version
let
(special form)
    
evaluation model
    
internal definition vs.
    
named
    
scope of variables
    
as syntactic sugar
,
[2]
let*
(special form)
letrec
(special form)
lexical addressing
    
lexical address
lexical scoping
    
environment structure and
lexical-address-lookup
,
[2]
lexical-address-set!
,
[2]
Lieberman, Henry
LIFO buffer,
see
stack
line segment
    
represented as pair of points
    
represented as pair of vectors
linear growth
,
[2]
linear iterative process
    
order of growth
linear recursive process
    
order of growth
linkage descriptor
Liskov, Barbara Huberman
Lisp
    
acronym for LISt Processing
    
applicative-order evaluation in
    
on DEC PDP-1
    
efficiency of
,
[2]
    
first-class procedures in
    
Fortran vs.
    
history of
    
internal type system
    
original implementation on IBM 704
    
Pascal vs.
    
suitability for writing evaluators
    
unique features of
Lisp dialects
    
Common Lisp
    
Franz Lisp
    
Interlisp
    
MacLisp
    
MDL
    
Portable Standard Lisp
    
Scheme
    
Zetalisp
lisp-value
(query interpreter)
lisp-value
(query language)
,
[2]
    
evaluation of
,
[2]
,
[3]
list
(primitive procedure)
list structure
    
list vs.
    
mutable
    
represented using vectors
list(s)
    
backquote with
    
cdr
ing down
    
combining with
append
    
cons
ing up
    
converting a binary tree to a
    
converting to a binary tree
    empty,
see
empty list
    
equality of
    
headed
,
[2]
    
last pair of
    
lazy
    
length of
    
list structure vs.
    
manipulation with
car
,
cdr
, and
cons
    
mapping over
    
n
th element of
    
operations on
    
printed representation of
    
quotation of
    
reversing
    
techniques for manipulating
list->tree
list-difference
list-of-arg-values
list-of-delayed-args
list-of-values
list-ref
,
[2]
list-structured memory
list-union
lives-near
(rule)
,
[2]
local evolution of a process
local name
,
[2]
local state
    
maintained in frames
local state variable
local variable
location
Locke, John
log
(primitive procedure)
logarithm, approximating
ln
2
logarithmic growth
,
[2]
,
[3]
logic programming
,
see also
query language; query interpreter
    
computers for
    
history of
,
[2]
    
in Japan
    
logic programming languages
    
mathematical logic vs.
logic puzzles
logical and
logical or
logical-not
lookup
    
in one-dimensional table
    
in set of records
    
in two-dimensional table
lookup-label
lookup-prim
lookup-variable-value
,
[2]
    
for scanned-out definitions
looping constructs
,
[2]
    
implementing in metacircular evaluator
lower-bound

machine language
    
high-level language vs.
Macintosh
MacLisp
macro
,
see also
reader macro character
magician,
see
numerical analyst
magnitude
    
data-directed
    
polar representation
    
rectangular representation
    
with tagged data
magnitude-polar
magnitude-rectangular
make-account
    
in environment model
    
with serialization
,
[2]
,
[3]
make-account-and-serializer
make-accumulator
make-agenda
,
[2]
make-assign
make-begin
make-branch
make-center-percent
make-center-width
make-code-tree
make-compiled-procedure
make-complex-from-mag-ang
make-complex-from-real-imag
make-connector
make-cycle
make-decrementer
make-execution-procedure
make-frame
,
[2]
,
[3]
make-from-mag-ang
,
[2]
    
message-passing
    
polar representation
    
rectangular representation
make-from-mag-ang-polar
make-from-mag-ang-rectangular
make-from-real-imag
,
[2]
    
message-passing
    
polar representation
    
rectangular representation
make-from-real-imag-polar
make-from-real-imag-rectangular
make-goto
make-if
make-instruction
make-instruction-sequence
make-interval
,
[2]
make-joint
make-label
make-label-entry
make-lambda
make-leaf
make-leaf-set
make-machine
,
[2]
make-monitored
make-mutex
make-new-machine
make-operation-exp
make-perform
make-point
make-poly
make-polynomial
make-primitive-exp
make-procedure
make-product
,
[2]
make-queue
,
[2]
make-rat
,
[2]
,
[3]
    
axiom for
    
reducing to lowest terms
make-rational
make-register
make-restore
make-save
make-scheme-number
make-segment
,
[2]
make-serializer
make-simplified-withdraw
,
[2]
make-stack
    
with monitored stack
make-sum
,
[2]
make-table
    
message-passing implementation
    
one-dimensional table
make-tableau
make-term
,
[2]
make-test
make-time-segment
make-tree
make-vect
make-wire
,
[2]
,
[3]
make-withdraw
    
in environment model
    
using
let
making change,
see
counting change
map
,
[2]
    
as accumulation
    
with multiple arguments
map-over-symbols
map-successive-pairs
mapping
    
over lists
    
nested
,
[2]
    
as a transducer
    
over trees
mark-sweep garbage collector
mathematical function,
see
function (mathematical)
mathematics
    
computer science vs.
,
[2]
    
engineering vs.
matrix, represented as sequence
matrix-*-matrix
matrix-*-vector
max
(primitive procedure)
McAllester, David Allen
,
[2]
McCarthy, John
,
[2]
,
[3]
,
[4]
McDermott, Drew
MDL
means of abstraction
    
define
means of combination
,
see also
closure
measure in a Euclidean ring
member
memo-fib
memo-proc
memoization
,
[2]
    
call-by-need and
    
by
delay
    
garbage collection and
    
of thunks
memoize
memory
    
in 1964
    
list-structured
memq
merge
merge-weighted
merging infinite streams,
see
infinite stream(s)
message passing
,
[2]
    
environment model and
    
in bank account
    
in digital-circuit simulation
    
tail recursion and
metacircular evaluator
metacircular evaluator for Scheme
    
analyzing version
    
combinations (procedure applications)
    
compilation of
,
[2]
    
data abstraction in
,
[2]
,
[3]
,
[4]
    
data-directed
eval
    
derived expressions
    
driver loop
    
efficiency of
    
environment model of evaluation in
    
environment operations
    
eval
and
apply
    
eval
-
apply
cycle
,
[2]
    
expression representation
,
[2]
    
global environment
    
higher-order procedures in
    
implemented language vs. implementation language
    
job of
    
order of operand evaluation
    
primitive procedures
    
representation of environments
    
representation of procedures
    
representation of true and false
    
running
    
special forms (additional)
,
[2]
,
[3]
,
[4]
,
[5]
,
[6]
    
special forms as derived expressions
    
symbolic differentiation and
    
syntax of evaluated language
,
[2]
,
[3]
    
tail recursiveness unspecified in
    
true
and
false
metalinguistic abstraction
MicroPlanner
Microshaft
midpoint-segment
Miller, Gary L.
Miller, James S.
Miller-Rabin test for primality
Milner, Robin
min
(primitive procedure)
Minsky, Marvin Lee
,
[2]
Miranda
MIT
    
Artificial Intelligence Laboratory
    
early history of
    
Project MAC
    
Research Laboratory of Electronics
,
[2]
MIT Scheme
    
the empty stream
    
eval
    
internal definitions
    
numbers
    
random
    
user-initial-environment
    
without-interrupts
ML
mobile
modeling
    
as a design strategy
    
in science and engineering
models of evaluation
modified registers,
see
instruction sequence
modifies-register?
modularity
,
[2]
    
along object boundaries
    
functional programs vs. objects
    
hiding principle
    
streams and
    
through dispatching on type
    
through infinite streams
    
through modeling with objects
modulo
n
modus ponens
money, changing,
see
counting change
monitored procedure
Monte Carlo integration
    
stream formulation
Monte Carlo simulation
    
stream formulation
monte-carlo
    
infinite stream
Moon, David A.
,
[2]
morning star,
see
evening star
Morris, J. H.
Morse code
Mouse, Minnie and Mickey
mul
(generic)
    
used for polynomial coefficients
mul-complex
mul-interval
    
more efficient version
mul-poly
mul-rat
mul-series
mul-streams
mul-terms
Multics time-sharing system
multiple-dwelling
multiplicand
multiplication by Russian peasant method
multiplier
    
primitive constraint
    
selector
Munro, Ian
mutable data objects
,
see also
queue; table
    
implemented with assignment
    
list structure
    
pairs
    
procedural representation of
    
shared data
mutator
mutex
mutual exclusion
mystery

Other books

New Species 06 Wrath by Laurann Dohner
Hieroglyphs by Penelope Wilson
Queen's Own Fool by Jane Yolen
Raspberry Revenge by Jessica Beck
An Unmarked Grave by Charles Todd
Memorías de puercoespín by Alain Mabanckou
Playing Dirty by Susan Andersen
The Marriage Market by Spencer, Cathy
Your Perfect Life by Liz Fenton