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
name, see also local name; variable; local variable
encapsulated
of a formal parameter
of a procedure
named let (special form)
naming
of computational objects
of procedures
naming conventions
! for assignment and mutation
? for predicates
native language of machine
natural language
parsing, see parsing natural language
quotation in
needed registers, see instruction sequence
needs-register?
negate
nested applications of car and cdr
nested combinations
nested definitions, see internal definition
nested mappings, see mapping
new register
new-cars register
new-cdrs register
new-withdraw
newline (primitive procedure),
[2]
Newton's method
for cube roots
for differentiable functions
half-interval method vs.
for square roots,
[2], [3]
newton-transform
newtons-method
next (linkage descriptor)
next-to (rules)
nil
dispensing with
as empty list
as end-of-list marker
as ordinary variable in Scheme
no-more-exps?
no-operands?
node of a tree
non-computable
non-strict
nondeterminism, in behavior of concurrent programs, [2]
nondeterministic choice point
nondeterministic computing
nondeterministic evaluator
order of operand evaluation
nondeterministic programming vs. Scheme programming, [2],
[3], [4]
nondeterministic programs
logic puzzles
pairs with prime sums
parsing natural language
Pythagorean triples,
[2], [3]
normal-order evaluation
applicative order vs.,
[2], [3]
delayed evaluation and
in explicit-control evaluator
of if
normal-order evaluator, see lazy evaluator
not (primitive procedure)
not (query language),
[2]
evaluation of,
[2], [3]
notation in this book
italic symbols in expression syntax
slanted characters for interpreter response
nouns
nth root, as fixed point
null? (primitive procedure)
implemented with typed pointers
number theory
number(s)
comparison of
decimal point in
equality of, [2],
[3]
in generic arithmetic system
implementation dependencies
integer vs. real number
integer, exact
in Lisp
rational number
number? (primitive procedure)
data types and
implemented with typed pointers
numer, [2]
axiom for
reducing to lowest terms
numerical analysis
numerical analyst
numerical data
obarray
object program
object(s)
benefits of modeling with
with time-varying state
object-oriented programming languages
old register
oldcr register
ones (infinite stream)
lazy-list version
op (in register machine)
simulating
open coding of primitives,
[2]
operands
operands of a combination
operation
cross-type
generic
in register machine
operation-and-type table
assignment needed for
implementing
operation-exp
operation-exp-op
operation-exp-operands
operator
operator of a combination
combination as
compound expression as
lambda expression as
optimality
of Horner's rule
of Huffman code
or (query language)
evaluation of,
[2]
or (special form)
evaluation of
why a special form
with no subexpressions
or-gate
or-gate,
[2]
order, [2]
order notation
order of evaluation
assignment and
implementation-dependent
in compiler
in explicit-control evaluator
in metacircular evaluator
in Scheme
order of events
decoupling apparent from actual
indeterminacy in concurrent systems
order of growth
linear iterative process
linear recursive process
logarithmic
tree-recursive process
order of subexpression evaluation, see order of evaluation
ordered-list representation of sets
ordinary numbers (in generic arithmetic system)
origin-frame
Ostrowski, A. M.
outranked-by (rule),
[2]
P operation on semaphore
package
complex-number
polar representation
polynomial
rational-number
rectangular representation
Scheme-number
painter(s)
higher-order operations
operations
represented as procedures
transforming and combining
pair(s)
axiomatic definition of
box-and-pointer notation for
infinite stream of
lazy
mutable
procedural representation of,
[2], [3]
represented using vectors
used to represent sequence
used to represent tree
pair? (primitive procedure)
implemented with typed pointers
pairs
Pan, V. Y.
parallel-execute
parallel-instruction-sequences
parallelism, see concurrency
parameter, see formal parameters
parameter passing, see call-by-name argument passing; call-by-need argument passing
parentheses
delimiting combination
delimiting cond clauses
in procedure definition
parse
parse-...
parsing natural language
real language understanding vs. toy parser
partial-sums
Pascal
lack of higher-order procedures
recursive procedures
restrictions on compound data
weakness in handling compound objects
Pascal, Blaise
Pascal's triangle
password-protected bank account
pattern
pattern matching
implementation
unification vs.,
[2]
pattern variable
representation of,
[2]
pattern-match
pc register
perform (in register machine)
simulating
perform-action
Perlis, Alan J., [2]
quips, [2]
permutations of a set
permutations
Phillips, Hubert
(pi)
approximation with half-interval method
approximation with Monte Carlo integration, [2]
Cesàro estimate for,
[2]
Leibniz's series for,
[2]
stream of approximations
Wallis's formula for
pi-stream
pi-sum
with higher-order procedures
with lambda
picture language
Pingala, Áchárya
pipelining
Pitman, Kent M.
Planner
point, represented as a pair
pointer
in box-and-pointer notation
typed
polar package
polar?
poly
polynomial package
polynomial arithmetic
addition
division
Euclid's Algorithm
greatest common divisor,
[2]
interfaced to generic arithmetic system
multiplication
probabilistic algorithm for GCD
rational functions
subtraction
polynomial(s)
canonical form
dense
evaluating with Horner's rule
hierarchy of types
indeterminate of
sparse
univariate
pop
Portable Standard Lisp
porting a language
power series, as stream
adding
dividing
integrating
multiplying
PowerPC
predicate
of cond clause
of if
naming convention for
prefix code
prefix notation
infix notation vs.
prepositions
preserving,
[2], [3],
[4]
pretty-printing
prime number(s)
cryptography and
Eratosthenes's sieve for
Fermat test for
infinite stream of, see primes
Miller-Rabin test for
testing for
prime-sum-pair
prime-sum-pairs
infinite stream
prime?, [2]
primes (infinite stream)
implicit definition
primitive constraints
primitive expression
evaluation of
name of primitive procedure
name of variable
number
primitive procedures (those marked ns are not in the IEEE Scheme standard)
*
+
-, [2]
/
<
=
>
apply
atan
car
cdr
cons
cos
display
eq?
error (ns)
eval (ns)
list
log
max
min
newline
not
null?
number?
pair?
quotient
random (ns),
[2]
read
remainder
round
runtime (ns)
set-car!
set-cdr!
sin
symbol?
vector-ref
vector-set!
primitive query, see simple query
primitive-apply
primitive-implementation
primitive-procedure-names
primitive-procedure-objects
primitive-procedure?,
[2]
principle of least commitment
print operation in register machine
print-point
print-queue
print-rat
print-result
monitored-stack version
print-stack-statistics operation in register machine
printing, primitives for
probabilistic algorithm,
[2], [3]
probe
in constraint system
in digital-circuit simulator
proc register
procedural abstraction
procedural representation of data
mutable data
procedure, [2]
anonymous
arbitrary number of arguments,
[2]
as argument
as black box
body of
compound
creating with define
creating with lambda,
[2], [3]
as data
definition of
first-class in Lisp
formal parameters of
as general method
generic, [2]
higher-order, see higher-order procedure
implicit begin in body of
mathematical function vs.
memoized
monitored
name of
naming (with define)
as pattern for local evolution of a process
as returned value
returning multiple values
scope of formal parameters
special form vs.,
[2]
procedure application
combination denoting
environment model of
substitution model of, see substitution model of procedure application
procedure-body
procedure-environment
procedure-parameters
process
iterative
linear iterative
linear recursive
local evolution of
order of growth of
recursive
resources required by
shape of
tree-recursive
product
as accumulation
product?
program
as abstract machine
comments in
as data
incremental development of
structure of, [2],
[3],
see also abstraction barriers
structured with subroutines
program counter
programming
data-directed, see data-directed programming
demand-driven
elements of
functional, see functional programming
imperative
odious style
programming language
design of
functional
logic
object-oriented
strongly typed
very high-level
Prolog, [2]
prompt-for-input
prompts
explicit-control evaluator
lazy evaluator
metacircular evaluator
nondeterministic evaluator
query interpreter
propagate
propagation of constraints
proving programs correct
pseudo-random sequence
pseudodivision of polynomials
pseudoremainder of polynomials
push
put, [2]
puzzles
eight-queens puzzle,
[2]
logic puzzles
Pythagorean triples
with nondeterministic programs,
[2], [3]
with streams