Авторизация
Поиск по указателям
Eisenberg M., Abelson H. — Programming in Scheme
Обсудите книгу на научном форуме
Нашли опечатку? Выделите ее мышкой и нажмите Ctrl+Enter
Название: Programming in Scheme
Авторы: Eisenberg M., Abelson H.
Аннотация: "With this book you can learn to write good programs that do interesting things right off the bat," writes software developer Julie Sussman. "This is the introductory [programming] text that I wish I had had"
Scheme - a simple, learnable dialect of LISP has emerged as a popular educational language as well as a serious tool for producing applications and system software. Programming in Scheme provides an accessible introduction to Scheme that assumes no previous programming experience and covers all the basics of the language and many advanced topics as well. It gets readers on the machine early, teaches language structure and programming technique through extended examples an exercises, and emphasizes debugging throughout.
Chapters are organized as a series of groups, or "layers," each of which advances the reader to a new level in Scheme. The first layer (chapters 2-7) introduces Scheme procedures - how to define, use, and debug them. The second layer (chapters 8-10) discusses lists and subprocedures. The third layer (chapters 11-15) provides a more elaborate and powerful model of the Scheme language. These last chapters also explore the notion of first-class procedure objects, one of the most fascinating ideas in computer science. Appendixes contain an Edwin mini-manual, answers to selected exercises, references and bibliography.
Michael Eisenberg is a Ph.D candidate in Computer Science at MIT. Harold Abelson is Associate Professor of Computer Science and Engineering at MIT.
Язык:
Рубрика: Computer science /Языки программирования /
Статус предметного указателя: Готов указатель с номерами страниц
ed2k: ed2k stats
Год издания: 1990
Количество страниц: 304
Добавлена в каталог: 16.11.2005
Операции: Положить на полку |
Скопировать ссылку для форума | Скопировать ID
Предметный указатель
get-decoded-letter 290
get-list-of-values 229
get-reminders 263 (E 16.4)
get-value 229
Ghyka, Matila 49n
Global variables 175-177
Goldberg, Adele 184n
Golden ratio 49 264
golden-ratio 49
golf-score 98 (E 8.9)
Gosper, Bill 54 (E 5.4)
Graphics in PC Scheme see PC Scheme
graphics-mode 70 252
greeting? 140 (E 11.3) 286-288
Haberman, Seth 112n
HAKMEM 54 (E 5.4)
hangman 192-193 (E 13.7) (E
Harvey, Brian 10-11 42
Hedge 115 286
Helper procedures 103-104
Henneman, William 54 (E 5.4)
Hofstadter, Douglas 48
Horn, B.K.P. 215n
hypothesize-new-assertion 240 (E 15.10)
if (special form) 13 32-33
if-part 234
in-ascending-order? 141 (E 11.5)
increment-by-two 162
increment-list 88
increment-nth! 243
increment-test-variable 260
Induction, mathematical 44-45 46-47
Infinite loops 53
infinite-loop 142 (E 11.9)
initialize-assertion-list 235
initialize-game-windows 251
initialize-window 250
Inspector 57 203
Inspector, accessing environments within 205-208 213
Inspector, listing procedures within 208-209
Inspector, pcs-debug-mode enhancement of 208-210
integer? (primitive) 39 (E4.10)
Internal definitions 104-105
Interpreter (Scheme) 7-8
lambda (special form) 154-157
Lang, Serge 101n
leap-year? 35 37 38-39 291
leave-taking? 140 (E 11.3) 288
left-dragon-curve 199 (E 13.18)
Length 87
length (primitive) 113
let (special form) 25-26 158-159
Levy, Steven 56 (E 5.10)
lexical scoping 3 106 107-108 137 144
Lisp 2 80n 82 97
Lissajous figures 170 (E 12.16)
list (primitive) 83 85
list->string (primitive) 270 (E 16.21)
list->vector (primitive) 261 (E 16.1)
list-ref (primitive) 113
list? 97 (E8.6)
Lists, and Lisp 2 82
Lists, as Scheme expressions 79 102 243-247
Lists, association lists 98 238
Lists, definition and description of 82-84
Lists, pictorial mnemonics for common procedures 85-86
Lists, printed representation of 84-85 97 8.5)
Lists, recursive strategies for working with 86-88
load (primitive) 281
local -number 96 (E 8.1)
log (primitive) 30 (E 3.13)
log-log 162
LOGO 3 52n 184 188
loop-forever 163
los-angeles-number? 96 (E 8.1)
macro (special form) 258-261 269
macros 260n (see also Special forms)
make-card-dealer 169 (E 12.14)
make-countdown-list 88
make-counter 195 (E 13.15)
make-database-matcher 227
make-date 82
make-dealer-for-n-hands 169 (E 12.14)
make-decoder 171 (E 12.17) 290
make-encoder 171 (E 12.17) 289
make-environment (special form) 263 (E 16.6)
make-hotel 200 (E 13.20)
make-line-segment 96 (E 8.3)
make-list-accessor 161-162
make-list-of-zeroes 88
make-list-out-of-each-element 168 (E 12.7)
make-plottable 164
make-point 81 141
make-random-sentence 100 (E 8.22)
make-slot-machine 199 (E 13.19)
make-sorter 163
make-string (primitive) 270 (E 16.21)
make-telephone-number 96 (E 8.1)
make-turtle 185-188
make-vector (primitive) 242
make-window (primitive) 249
make-yes-or-no-procedure 270 (E 16.19) 292
map (primitive) 153
map-append 224
map-over-pairs 154
map-over-vector! 262 (E 16.3)
Mapping procedures 153-154
Martin, Dick 89
Match 219 266
matching-x 74
matching-y 74
Matrices 101 (E 8.23)
max (primitive) 30 (E 3.13)
max-of-positives 255
Maximum 87
McCarthy, John 2
member (primitive) 100 (E 8.19)
memq (primitive) 100 (E 8.19)
memv (primitive) 100 (E8.19)
midpoint 141 (E 11.6)
min (primitive) 30 (E 3.13)
modulo (primitive) 30 (E 3.13)
Molecular weights program 91-95
molecular-weight 92 94
Month 82
mutability 180 200-202
mystery-1 28 (E 3.3)
mystery-2 28 (E 3.3)
mystery-3 28 (E 3.3)
n-choose-k 105
name! 259
named-lambda (special form) 158 206
Names, binding to objects with define 20 (see also Bindings symbols)
Naming conventions, for global variables 177
Naming conventions, for predicates 35 177
Naming conventions, for procedures that alter bindings or pairs 177 181n
negative? (primitive) 32-33
new-quadratic-solutions 32
newline (primitive) 25 256-257
next-day! 291
next-item 290
next-month 291
next-weekday 291
nice-try 174
nil (variable) 82 97
Nonlocal exit 254
not (primitive) 34
nth-root-maker 169 (E 12.13)
null? (primitive) 87
number-of-days 34
number-of-digits 48
number-of-primes-up-to 284
number-of-zeroes 88 91
number? (primitive) 92 270
Numbers, allowed ranges for 18
Numbers, as first-class objects 147-148
Numbers, evaluation of 8 17
Numbers, formats for writing 17
Object-Oriented Programming 183-190
Octagon 189
odd-up-and-even-down 54 (E 5.4)
odds-then-evens? 153
on-base-pct 29 (E 3.10) 283
on-the-menu? 98-99 (E 8.12)
only-one-factor? 285
open-input-file (primitive) 256
open-output-file (primitive) 256
operands see Arguments
or (special form) 32-33
Or, exclusive versus inclusive 34
pair? 97 (E 8.6) 270
Pairs 79-82
Pairs, altering with set-oar! and set-cdr! 177-181
Pairs, box-and-pointer notation for 80 97
Pairs, compound objects represented by 81-82
Pairs, dotted-pair notation 80 84
Papert, Seymour 58
Parameters see Arguments
Parentheses, importance of in Scheme 10
Pascal 3 107n
Pattern 189
Pattern matching 215
Pattern matching program 215-230 (see also rule-based "expert system" program)
PC Scheme, and and or patterns 222-225
PC Scheme, database within 216-217 227
PC Scheme, dont-keep patterns 227-230
PC Scheme, exiting 14
PC Scheme, graphics facilities of 3 67-71 77 252
PC Scheme, loading up 7
PC Scheme, matching simple patterns 218-222 16.14)
PC Scheme, requirements for using 3
pcs-debug-mode (variable) 64 66 209-210 213
pcs-integrate-primitives (variable) 145
pendulum-period 29-30 (E 3.10)
Perkin, W.H. 58
permutations 99 (E 8.15)
pixel-x-distance 73
pixel-y-distance 73
plot-function 163-165
Plotting program (function plotter) 163-165
plug-dictionary-values-into 233 239 292
poker-game-dealer 169 (E 12.14)
Ports (as Scheme objects) 255-258 267-268
position-pen (primitive) 69
pp (primitive) 213 (E 14.7)
predicates 33 34-35
prime-factors 61
prime-factors-helper 61
prime? 55 (E 5.8) 284-285
print-factors 55 (E5.8) 284
print-form-letter 175-176
print-hello 48 60
print-hello-forever 53
print-hello-helper 60
print-if-not-0 269 (E 16.18)
print-out-binary 55 (E 5.9)
print-out-in-base 55 (E5.9)
print-out-roman 56 (E 5.10)
print-random-number? 270 (E 16.19)
Procedure objects see procedures as objects
procedure-environment (primitive) 244-245
procedure? (primitive) 168 (E 12.8)
Procedures, as objects see also First classness
Procedures, as objects, named by variables 148-149
Procedures, as objects, passed as arguments to procedures 149-154
Procedures, as objects, representation of 129 139
Procedures, as objects, returned as the value of procedure calls 159-163
Procedures, as objects, stored in data structures 165-166
Procedures, as objects, used to represent objects 185-186
Procedures, compound procedures, altering (in the editor) 13 15
Procedures, compound procedures, creating new ones 10 21-23
Procedures, compound procedures, evaluating calls to 13 23-24
Procedures, compound procedures, listing 208-209 213
Procedures, compound procedures, meaningful names for 10 65
Procedures, compound procedures, organizing according to purpose 65
Procedures, compound procedures, representation of see procedures as objects
Procedures, invocations of 43
Procedures, primitive procedures 11 18 144-146
Procedures, primitive procedures, evaluation of calls to 18-19 131 139
Procedures, primitive procedures, rebinding names of 50 144-146
Procedures, primitive procedures, representation of 137-138
PRODUCT 97 (E 8.7)
product-A 266 (E 16.13)
product-B 266 (E 16.13)
quadratic-solutions 25 30 31
quasiquote (special form) 228 239 15.8) 260-261
question? 169 (E 12.15)
quote (special form) 89-90
Quoting, philosophical problems introduced by 89
random (primitive) 10-11 182n
Random walks 56 (E 5.12) 194
read (primitive) 114 257 264 267
read-coordinates 268 (E 16.17)
read-until-done 268 (E 16.16)
rectangle-area 28 (E 3.4)
Recursion, actor model of 42-44 52
Recursion, and beauty, truth, etc. 48-49
Recursion, breakpoints in recursive procedures 207-208
Recursion, creating recursive procedures 46-47
Recursion, embodied in evaluation rules 19
Recursion, embodied in the mirror 41
Recursion, environment diagrams and 136 142-144
Recursion, in procedures 41
Recursion, induction model of 44-45
Recursion, list-manipulating procedures using 86-88
Recursion, tail recursion 3 51-53 55 65 142-144
Recursion, tree recursion 95
recursive-proc-2 54 (E 5.3)
Rees, Jonathan 158n
reflect-about-origin 81
reflect-about-x-axis 81
reflect-about-y-axis 81
region-loop 75
remainder (primitive) 30 (E 3.13)
REMOVE-DUPLICATES 226
reoursive-proc-1 54 (E 5.3)
REPEAT 189 261
repeat-helper 261
response-part 117
rest-elements 117
restore-screen 251
retrieve-and-draw-file 268 (E 16.17)
reverse (primitive) 286
reverse-list 99 (E8.14) 286
right-dragon-curve 199 (E 13.18)
Robson, David 184n
roll-till-you-win 54 (E 5.2)
Roman numerals 56 (E 5.10)
roulette-helper 61
roulette-wheel 10-14 15 33 37 103-104 109
round (primitive) 30 (E 3.13) 68
Rowan, Dan 89
Rule-based "expert system" program 230-238 (see also forward chaining pattern
run-list-on-1 247
runtime (primitive) 56 (E 5.11)
salutation 175-176
sample-env-maker 244
save-coordinates 257
save-pen-color 258
Scheme system structure 7-10
Реклама