Назад
Предметный указатель
571
eval-if (ленивая) 374
eval-if (метациклическая) 342
eval-sequence 342
even-fibs 120, 123
even? 60
exchange 292
execute 475
execute-application
метациклическая 368
недетерминистская 400
exp, регистр 501
expand-clauses 347
expmod 65, 68 (упр. 1.25), 68 (упр. 1.26)
expt
линейно итеративный вариант 60
линейно рекурсивный вариант 59
регистровая машина 470 (упр. 5.4)
extend-environment 351, 352
extend-if-consistent 435
extend-if-possible 439
external-entry 553
extract-labels 478, 478п
#f 36п
factorial
использование стека, интерпретируемый
вариант 515 (упр. 5.26), 515
(упр. 5.27)
использование стека, регистровая
машина 488 (упр. 5.14)
использование стека, скомпилированный
вариант 555 (упр. 5.45)
как абстрактная машина 357
компиляция 539, 544
линейно итеративный вариант 50
линейно рекурсивный вариант 49
регистровая машина (итеративная) 454
(упр. 5.1), 456 (упр. 5.2)
регистровая машина (рекурсивная) 466,
469
с присваиванием 226
структура окружений при вычислении
233 (упр. 3.9)
через процедуры высших порядков 73
(упр. 1.31)
false 36п
false? 350
fast-expt 60
fast-prime 66
fermat-test 66
fetch-assertions 440
fetch-rules 440
fib
древовидно-рекурсивный вариант 53,
516 (упр. 5.29)
использование стека, интерпретируемый
вариант 516 (упр. 5.29)
использование стека, скомпилированный
вариант 555 (упр. 5.46)
линейно-итеративный вариант 55
логарифмический вариант 62 (упр. 1.19)
регистровая машина древовидной
рекурсией) 468, 470
с именованным let 350 (упр. 4.8)
с мемоизацией 260 (упр. 3.27)
fibs (бесконечный поток) 308
неявное определение 310
FIFO 250
filter 122
filtered-accumulate 74 (упр. 1.33)
find-assertions 434
find-divisor 64
first-agenda-item 267, 271
first-exp 346
first-frame 352
first-operand 346
first-segment 270
first-term 201, 204
fixed-point 80
как пошаговое улучшение 89 (упр. 1.46)
fixed-point-of-transform 86
flag, регистр 475
flatmap 129
flatten-stream 443
flip-horiz 134, 144 (упр. 2.50)
flip-vert 134, 143
flipped-pairs 136, 139, 139п
fold-left 127 (упр. 2.38)
fold-right 127 (упр. 2.38)
for-each 114 (упр. 2.23), 377 (упр. 4.30)
for-each-except 279
force 302, 305
572
Предметный указатель
vs. вынуждение санка 372п
force-it 375
вариант с мемоизацией 376
forget-value! 275, 279
Fortran (Фортран) 24, 125п
изобретатель 333п
ограничения на составные данные 107п
frame-coord-map 140
frame-values 352
frame-variables 352
Franz Lisp (Франц Лисп) 24п
free, регистр 493, 496
fringe 118 (упр. 2.28)
как перечисление листьев дерева 123п
front-ptr 251
front-queue 251, 252
full-adder 263
gcd 63
регистровая машина 451, 472
gcd-terms 208
generate-huffman-tree 169
(упр. 2.69)
get 180, 259
get-contents 474
get-global-environment 512п
get-register 476
get-register-contents 472, 475
get-signal 264, 266
get-value 275, 279
goto регистровой машине) 454
имитация 482
переход на содержимое регистра 461
goto-dest 483
half-adder 262
half-interval-method 80
has-value? 275, 279
Hassle (Закавыка) 371п
IBM 704 95п
identity 72
if (особая форма) 37
vs. cond 37п
вычисление 37
нормальный порядок вычисления ф ормы
39 (упр. 1.5)
одностороннее предложение (без
альтернати вы) 271п
почему особая форма 42 (упр. 1.6)
предикат, следствие и альтернатива 37
if-alternative 345
if-consequent 345
if-predicate 345
if? 345
imag-part
декартово представление 174
полярное представление 175
с помеченными данными 177
управляемая данными 182
imag-part-polar 177
imag-part-rectangular 176
inc 71
inform-about-no-value 276
inform-about-value 276
initialize-stack, операция
регистровой машины 474, 493
insert!
для двумерной таблицы 258
для одномерной таблицы 256
insert-queue! 251, 252
install-complex-package 189
install-polar-package 181
install-polynomial-package 200
install-rational-package 188
install-rectangular-package 181
install-scheme-number-package 187
instantiate 431
instruction-execution-proc 479
instruction-text 479
integers (бесконечный поток) 307
вариант с ленивыми списками 380
неявное определение 309
integers-starting-from 307
integral 72, 322, 326 (упр. 3.77)
вариант с ленивыми списками 380
необходимость задержанного
вычисления 325
с задержанным аргументом 325
с использованием lambda 75
integrate-series 313 (упр. 3.59)
Предметный указатель
573
interleave 319
interleave-delayed 442
InterLisp (ИнтерЛисп) 24п
intersection-set 154
представлен ие в виде бинарных деревьев
162 (упр. 2.65)
представлен ие в виде неупорядоченных
списков 155
представлен ие в виде упорядоченных
списков 157
inverter 264
KRC 128п, 319п
label регистровой машине) 454
имитация 484
label-exp-label 484
label-exp? 484
lambda (особая форма) 74
vs. define 75
точечная запись 112п
lambda-body 345
lambda-parameters 345
lambda-выражение
значение 231
lambda? 345
last-operand? 504п
last-pair 111 (упр. 2.17), 245
(упр. 3.12)
правила 416 (упр. 4.62)
leaf? 166
left-branch 159, 167
length 110
итеративный вариант 110
как накопление 125 (упр. 2.33)
рекурсивный вариант 110
let (особая форма) 76
vs. внутреннее определение 78
именованный 349 (упр. 4.8)
как синтаксический сахар 77, 238
(упр. 3.10)
модель вычисления 238 (упр. 3.10)
область действия переменных 77
let* (особая форма) 349 (упр. 4.7)
letrec (особая форма) 363 (упр. 4.20)
lexical-address-lookup 548, 549
(упр. 5.39)
Lisp (Лисп)
vs. Паскаль 31п
vs. Фортран 24
аппликативный порядок вычислений 35
диалекты см. диалекты Лиспа
история 23
исходная реализация на IB M 704 95п
на DEC PDP-1 495п
процедуры как объекты первого к ласса
87
система внутренних типов 191
(упр. 2.78)
сокращение от LISt Processing 23
удобство для написания вычислителей
337
уникальные свойства 24
эффективность 24, 27п
lisp-value (интерпретатор запросов)
433
lisp-value (язык запросов) 412, 427
вычисление 421, 433, 448 (упр. 4.77)
list (элементарная процедура) 108
list->tree 161 (упр. 2.64)
list-difference 537
list-exp? 346
list-of-arg-values 374
list-of-delayed-args 374
list-of-values 341
list-ref 109, 379
list-union 537
log (элементарная процедура) 82
(упр. 1.36)
logical-not 264
lookup
в двумерной таблице 258
в множестве записей 162
в одномерной таблице 255
lookup-label 479
lookup-prim 485
lookup-variable-value 351, 352
при исключенных внутренних
определениях 362 (упр. 4.16)
lower-bound 103 (упр. 2.7)
574
Предметный указатель
machine 484
Macintosh 516п
MacLisp (МакЛисп) 24п
magnitude
декартово представление 174
полярное представление 175
с помеченными данными 177
управляемая данными 182
magnitude-polar 177
magnitude-rectangular 176
make-account 216
в модели с окружениями 240 (упр. 3.11)
с сериализацией 289, 290 (упр. 3.41),
291 (упр. 3.42)
make-account-and-serializer 292
make-accumulator 217 (упр. 3.1)
make-agenda 267, 270
make-assign 481
make-begin 346
make-branch 118 (упр. 2.29), 482
make-center-percent 104 (упр. 2.12)
make-center-width 104
make-code-tree 166
make-compiled-procedure 529п
make-complex-from-mag-ang 190
make-complex-from-real-imag 189
make-connector 278
make-cycle 245 (упр. 3.13)
make-decrementer 222
make-execution-procedure 480
make-frame 140, 141 (упр. 2.47), 352
make-from-mag-ang 178, 183
в виде передачи сообщений 185
(упр. 2.75)
декартово представление 174
полярное представление 175
make-from-mag-ang-polar 177
make-from-mag-ang-rectangular 177
make-from-real-imag 178, 183
в виде передачи сообщений 185
декартово представление 174
полярное представление 175
make-from-real-imag-polar 177
make-from-real-imag-rectangular
176
make-goto 482
make-if 345
make-instruction 479
make-instruction-sequence 523
make-interval 103, 103 (упр. 2.7)
make-joint 226 (упр. 3.7)
make-label 527п
make-label-entry 479
make-lambda 345
make-leaf 166
make-leaf-set 168
make-machine 472, 473
make-monitored 217 (упр. 3.2)
make-mutex 295
make-new-machine 477
make-operation-exp 484
make-perform 483
make-point 99 (упр. 2.2)
make-poly 200
make-polynomial 204
make-procedure 351
make-product 150, 151
make-queue 251, 252
make-rat 94, 96, 98
описывающая аксиома 100
приведение к наименьшему знаменателю
97
make-rational 188
make-register 474
make-restore 483
make-save 483
make-scheme-number 188
make-segment 99 (упр. 2.2), 142
(упр. 2.48)
make-serializer 295
make-simplified-withdraw 222, 332
make-stack 474
с отслеживанием стека 487
make-sum 150, 151
make-table
одномерная таблица 256
реализация через передачу сообщений
258
make-tableau 316
make-term 201, 204
make-test 482
make-time-segment 269
Предметный указатель
575
make-tree 159
make-vect 141 (упр. 2.46)
make-wire 262, 265, 269 (упр. 3.31)
make-withdraw 215
в модели с окружениями 234
с использованием let 237 (упр. 3.10)
map 113, 379
как накопление 125 (упр. 2.33)
с несколькими аргументами 113п
map-over-symbols 444
map-successive-pairs 330
matrix-*-matrix 127 (упр. 2.37)
matrix-*-vector 127 (упр. 2.37)
max (элементарная процедура) 103
MDL 496п
member 387п
memo-fib 260 (упр. 3.27)
memo-proc 305
memoize 260 (упр. 3.27)
memq 148
merge 311 (упр. 3.56)
merge-weighted 320 (упр. 3.70)
MicroPlanner (МикроПлэнер) 385п
min (элементарная процедура) 103
Miranda (Миранда) 128п
MIT 405п
Исследовательская лаборатория по
Электронике 23, 495п
лаборатория Искусственного Интеллекта
24п
проект MAC 24п
ранняя история 133п
MIT Scheme
eval 360п
random 221п
user-initial-environment 360п
without-interrupts 296п
внутренние определения 362п
пустой поток 301п
числа 42п
ML 329п
modifies-register? 536
modus ponens 425п
monte-carlo 219
бесконечный поток 331
mul (обобщенная) 187
примененная к коэффициентам
многочленов 202
mul-complex 174
mul-interval 103
более эффективная версия 104
(упр. 2.11)
mul-poly 200
mul-rat 94
mul-series 313 (упр. 3.60)
mul-streams 311 (упр. 3.54)
mul-terms 202
Multics, система разделения времени
[Multics time-sharing system] 495п
multiple-dwelling 387
multiplicand 152
multiplier
селектор 152
элементарное ограничение 276
mystery 245 (упр. 3.14)
n-кратно сглаженная функция [n-fold
smoothed function] 88 (упр. 1.44)
needs-register? 536
negate 433
new, регистр 498
new-cars, регистр 496
new-cdrs, регистр 496
new-withdraw 214
newline (элементарная пр оцедура) 67
(упр. 1.22), 96п
newton-transform 85
newtons-method 85
next (опис атель связи) 521
next-to (правила) 416 (упр. 4.61)
nil
избавление от 148
как обыкновенная переменная в Scheme
109п
как показатель конца списка 107
как пустой список 109
no-more-exps? 509п
no-operands? 346
not (элементарная процедура) 37
not (язык запросов) 412, 427
вычисление 421, 433, 448 (упр. 4.77)
null? (элементарная процедура) 110
576
Предметный указатель
реализация через типизированные
указатели 493
number? (элементарная пр оцедура) 150
и тип данн ых 191 (упр. 2.78)
реализация через типизированные
указатели 493
numer 94, 96
описывающая аксиома 100
с приведением к наименьшему
знаменателю 98
old, регистр 498
oldcr, регистр 499
ones (бесконечный поток)
вариант с ленивыми списками 380
op регистровой машине) 455
имитация 484
operands 183 (упр. 2.73), 346
operation-exp-op 485
operation-exp-operands 485
operation-exp? 485
operation-table 259
operator 183 (упр. 2.73), 346
or (особая форма) 37
без подвыражений 348 (упр. 4.4)
вычисление 37
почему особая форма 38
or (язык запросов) 411
обработка 420, 432
or-gate 265 (упр. 3.28), 265 (упр. 3.29)
order 201, 204
origin-frame 140
P-операция на семафоре 294п
pair? (элементарная процедура) 117
реализация через типизированные
указатели 493
pairs 319
parallel-execute 288
parallel-instruction-sequences
539
parse 390
parse-... 389
partial-sums 311 (упр. 3.55)
Pascal (Паскаль) 31п
бедность средств работы с составными
объектами 281п
ограничения на составные данные 107п
рекурсивные процедуры 51
сложности с процедурами высших
порядков 328п
pattern-match 435
pc, регистр 475
perform регистровой машине) 457
имитация 483
perform-action 484
permutations 129
pi-stream 315
pi-sum 71
через lambda 75
через процедуры высших порядков 72
Planner (Плэнер) 385п
polar, пакет 181
polar? 176
poly 200
polynomial, пакет 200
pop 475
Portable Standard Lisp (Переносимый
Стандартный Лисп) 24п
PowerPC 298п
prepositions 391
preserving 521, 523 (упр. 5.31), 538,
546 (упр. 5.37)
prime 310
prime-sum-pair 382
prime-sum-pairs 129
бесконечный поток 318
prime? 64
primes (бесконечный поток) 308
неявное определение 310
primitive-apply 506
primitive-implementation 355
primitive-procedure-names 355
primitive-procedure-objects 355
primitive-procedure? 351, 355
print, операция в регистровой машине
457
print-point 99 (упр. 2.2)
print-queue 254 (упр. 3.21)
print-rat 96
print-result 512
Предметный указатель
577
с отслеживаемым количеством стековых
операций 514
probe
в имитаторе цифровых схем 268
в системе ограничений 277
proc, регистр 501
procedure-body 351
procedure-environment 351
procedure-parameters 351
product 73 (упр. 1.31)
как накопление 74 (упр. 1.32)
product? 150, 152
Prolog ролог) 385п, 405п
prompt-for-input 356
propagate 267
push 475
put 180, 259
qeval 424, 431
queens 130 (упр. 2.42)
query-driver-loop 430
quote (особая форма) 147п
и read 356п, 444п
quoted? 344
quotient (элементарная процедура) 312
(упр. 3.58)
rand 219
со сбрасыванием 221 (упр. 3.6)
random (элементарная процедура) 66
MIT Scheme 221п
необходимость присваивания 213п
random-in-range 221 (упр. 3.5)
rational-package (пакет) 188
RC-цепь [RC circuit] 322 (упр. 3.73)
read (элементарная процедура) 356п
макросимволы ввода 444п
обработка точечной записи 436
read, операция регистровой машины 456
read-eval-print loop 512
real-part
декартово представление 174
полярное представление 175
с помеченными данными 177
управляемая данными 182
real-part-polar 177
real-part-rectangular 176
rear-ptr 251
receive, процедура 476
rectangular, пакет 181
rectangular? 176
reg регистровой машине) 455
имитация 484
register-exp-reg 484
register-exp? 484
registers-modified 536
registers-needed 536
remainder (элементарная процедура) 60
remainder-terms 208 (упр. 2.94)
remove 130
remove-first-agenda-item! 267
require 383
как особая форма 403 (упр. 4.54)
rest-exps 346
rest-operands 346
rest-segments 270
rest-terms 201, 204
restore регистровой машине) 467
моделирование 483
реализация 493
return (описатель связи) 521
reverse 111 (упр. 2.18)
как свертка 128 (упр. 2.39)
правила 429 (упр. 4.68)
right-branch 159, 167
right-split 136
RLC-цепь последовательная [series RLC
circuit] 328 (упр. 3.80)
root, регистр 496
rotate90 144
round (элементарная процедура) 198п
RSA алгоритм [RSA algorithm] 67п
runtime (элементарная пр оцедура) 67
(упр. 1.22)
same (правило) 413
same-variable? 150, 151, 200
save регистровой машине) 467
моделирование 483
реализация 493
scale-list 112, 113, 380
scale-stream 310
578
Предметный указатель
scale-tree 119
scale-vect 141 (упр. 2.46)
scan, регистр 496
scan-out-defines 362 (упр. 4.16)
Scheme (Схема) 24
история 24п
search 79
segment-queue 269
segment-time 269
segments 270
segments->painter 142
self-evaluating? 343
sequence->exp 346
serialized-exchange 293
с избежан ием тупиков 297 (упр. 3.48)
set! (особая форма) 214, см. также
присваивание
значение 214п
модель с окружениями 231п
set-car! 242
set-cdr! 242
set-contents! 474
set-current-time! 270
set-front-ptr! 251
set-instruction-execution-proc!
479
set-rear-ptr! 251
set-register-contents! 472, 476
set-segments! 270
set-signal! 264, 266
set-value! 275, 279
set-variable-value! 351, 353
setup-environment 354
shrink-to-upper-right 143
signal-error 513
simple-query 431
sin (элементарная процедура) 81
singleton-stream 443
SKETCHPAD 272п
smallest-divisor 64
более эффективный вариант 68
(упр. 1.23)
Smalltalk 272п
solve 325, 326
вариант с ленивыми списками 380
с прочесанными внутренними
определениями 363 (упр. 4.18)
split 139 (упр. 2.45)
sqare 31
sqare-limit 137, 139
sqrt 42
в модели с окружениями 238
как неподвижная точка 81, 84, 86
как пошаговое улучшение 89 (упр. 1.46)
как предел потока 317 (упр. 3.64)
регистровая машина 459 (упр. 5.3)
с блочной структурой 47
с методом Ньютона 86
sqrt-stream 314
square
в модели с окружениями 229
square-of-four 139
squarer (ограничение) 280 (упр. 3.34),
280 (упр. 3.35)
squash-inwards 144
stack-inst-reg-name 483
start 472, 475
start-eceval 552п
start-segment 99 (упр. 2.2), 142
(упр. 2.48)
statements 536
stream-append 319
stream-append-delayed 442
stream-car 301, 302
stream-cdr 301, 302
stream-enumerate-interval 303
stream-filter 303
stream-flatmap 443, 447 (упр. 4.74)
stream-for-each 301
stream-limit 317 (упр. 3.64)
stream-map 301
с несколькими аргументами 306
(упр. 3.50)
stream-null? 301
в MIT Scheme 301п
stream-ref 301
stream-withdraw 332
sub (обобщенная) 187
sub-complex 173
sub-interval 103 (упр. 2.8)
sub-rat 94
Предметный указатель
579
sub-vect 141 (упр. 2.46)
subsets 120 (упр. 2.32)
sum 71
итеративный вариант 73 (упр. 1.30)
как накопление 74 (упр. 1.32)
sum-cubes 70
через процедуры высших порядков 71
sum-integers 70
через процедуры высших порядков 72
sum-odd-squares 120, 123
sum-of-squares 32
в модели с окружениями 231
sum-primes 300
sum? 150, 152
symbol-leaf 166
symbol? (элементарная пр оцедура) 151
и тип данн ых 191 (упр. 2.78)
реализация через типизированные
указатели 493
symbols 167
SYNC 298п
#t 36п
tack-on-instruction-sequence 538
tagged-list? 344
term-list 201
test регистровой машине) 454
имитация 482
test-and-set! 295, 296п
test-condition 482
text-of-quotation 344
lambda-выражение
как оператор в комбинации 75
THE, Система Мультипрограммирования
294п
the-cars
вектор 490
регистр 492, 496
the-cdrs
вектор 490
регистр 492, 496
the-empty-environment 352
the-empty-stream 301
в MIT Scheme 301п
the-empty-termlist 201, 204
the-global-environment 355, 512п
thunk-env 375
thunk-exp 375
thunk? 375
timed-prime-test 67 (упр. 1.22)
TK!Solver 272п
transform-painter 143
transpose 127 (упр. 2.37)
tree->list... 161 (упр. 2.63)
tree-map 119 (упр. 2.31)
true 36п
true? 350
try-again 385
type-tag 176
использование типов Scheme 191
(упр. 2.78)
unev, регистр 501
unify-match 437
union-set 154
представлен ие в виде бинарных деревьев
162 (упр. 2.65)
представлен ие в виде неупорядоченных
списков 156 (упр. 2.59)
представлен ие в виде упорядоченных
списков 158 (упр. 2.62)
unique (язык з апросов) 447 (упр. 4.75)
unique-pairs 130 (упр. 2.40)
UNIX (Юникс) 516п, 554п
unknown-expression-type 513
unknown-procedure-type 513
up-split 137 (упр. 2.44)
update-insts! 479
upper-bound 103 (упр. 2.7)
user-initial-environment 360п
user-print 356
измененная для скомпилированного кода
552п
V-операция на семафоре 294п
val, регистр 501
value-proc 481
variable 201
variable? 150, 343
vector-ref (элементарная процедура)
490
580
Предметный указатель
vector-set! (элементарная процедура)
490
verbs 389
weight 167
weight-leaf 166
width 104
withdraw 213
сложности в параллельных системах 284
without-interrupts 296п
xcor-vect 141 (упр. 2.46)
Xerox, исследовательский центр в Пало
Альто [Xerox Palo Alto Research
Center] 24п
Y-оператор [Y operator] 364п
ycor-vect 141 (упр. 2.46)
Zetalisp (Зеталисп) 24п
Абельсон, Харольд [Harold Abelson] 24п
абстрактные данные [abstract data] 93, см.
также абстракция данных
абстрактные модели данных [abstract
models for data] 100п
абстрактный синтаксис [abstract syntax]
в метациклическом интерпретаторе 339
в языке запросов 430
абстракция [abstraction] см. также
средства абстракции; абстракция
дан ных; процедуры высших порядков
выделение общей схемы 71
метаязыковая 336
поиска в недетерминистском
программирован ии 387
при проектировании регистровых машин
457
процедурная 44
абстракция данных [data abstraction] 91,
93, 170, 173, 343, см. также
метациклический интерпретатор
для очереди 250
автомагически [automagically] 384
автоматический поиск [automatic search]
381, см. также поиск
история 384п
автоматическое распределение памяти
[automatic storage allocation] 489
Ада, сыновья 417 (упр. 4.63)
Адамс, Норман И., IV [No rman I. Adams
IV] 366п
аддитивность [additivity] 93, 171, 179
Адельман, Леонард [Leonard Adleman] 67п
адрес [address] 489
адресная арифметика [address arithmetic]
490
азбука Морзе [Morse code] 163
Аккермана функция [Ackermann’s
function] 52 (упр. 1.10)
алгебра символьная см. символьная
алгебра
алгебраическая спецификация [algebraic
specification] 100п
алгебраическое выражение [algebraic
expression] 198
дифференцирование 149
представлен ие 151
упрощение 152
алгоритм [algorithm]
RSA [RSA] 67п
вер оятностный 66
Евклида [Euclid’s] 63, 451
оптимальный 125п
унификации [unification algorithm] 405п
Аллен, Джон [John Allen] 495п
альтернати ва if [alternative of if] 37
анализирующий интерпретатор [analyzing
evaluator] 365
let 369 (упр. 4.22)
как основа для недетерминистского
интерпретатора 394
Аппель, Эндрю У. [Andrew W. Appel] 535п
аппликативный порядок вычислений
[applicative-order evaluation] 35
vs. нормальный порядок 39 (упр. 1.5),
64 (упр. 1.20), 370
в Лиспе 35
арбитр [arbiter] 296п
аргумент(ы) [argument(s)] 26
задержанный 325