Runge-Kutta integration, 287 running time, 41, 131
Rytz, B., 371
S-expression, 29
s-m-n function property, 336 s-m-n theorem, 72, 366
safe division, 331 safety
of binding-time analysis, 106 of closure analysis, 316
of speedup analysis, 135 of speedup interval, 133
Sahlin, D., 195, 369, 370
Sandewall, E., 367, 368 Sands, D., 370
Sardu, G., 369 scanner, 257
Scheme, 101, 204, 225, 368 Scheme0, 101, 102
specializer source code, 376 two-level, 110, 111
Scheme1, 206 two-level, 207
Scherlis, W., 373, 374 Schism, 263, 368 Schmidt, D.A., 371, 375 Sch•on nkel, M., 28 Schooler, R., 368 scienti c computing, 287 scope, 53
second Futamura projection, 13, 86, 344 selector, 28
self-application, 13, 88, 91, 116, 125, 194, 215, 256
double, 14 recipe for, 157
taming by BTA, 153 self-dependency, 306 self-interpretation
lambda calculus, 164 self-interpreter, 139, 336 semantically equivalent, 340 semantics of types, 26, 34, 339
semantics-directed compiler generation, 375 Semilux, 369
Sestoft, P., 101, 118, 367, 368, 370, 371 Shapiro, E., 373
Shepherdson, J.C., 195, 369 side-e ect, 119
analysis, 198 nonlocal, 235 static, 238
Index 413
under dynamic control, 236 Similix, 204, 264, 272, 368, 371
binding-time analysis, 322 simple loop, 134 single-valued, 24
Sintzo , M., 310 SIS, 375
size analysis, 302 Smith, D.A., 372 solution
of constraint set, 177 S ndergaard, H., 101, 367, 368, 370 sorting, 291
source program, 8, 39 sp-function, 205, 217 specialization, 205
kernel, 150 point, 217 Prolog goals, 198
specialized program point, 78, 103 speedup
bound, 128
falsely superlinear, 130 function, 128
in loop, 134 interval, 132, 134
safety of, 133 linear, 128 superlinear, 347
speedup analysis, 132 experiments, 136 safety of, 135
staging transformations, 373 state, 98
state transition, 98 statement
dynamic, 230 static, 230
static, 77, 102, 166, 197 always, 149
goal, 197 part, 324 perhaps, 145 projection, 324 statement, 230 variable, 301
Steensgaard, B., 224, 370, 371 store, 57, 302
store transformer, 57
string matching, see Knuth{Morris{Pratt struct specialization, 241
structural operational semantics, 38