|
|
Авторизация |
|
|
Поиск по указателям |
|
|
|
|
|
|
|
|
|
|
Thompson S. — Haskell: the craft of functional programming |
|
|
Предметный указатель |
Constructor, unary 243
context 205 210 233 466
Context, multiple 212
Context, simplifying 234
Counting 427
Curry, Haskell B. 184
Currying 184-5 466
Data-directed programming 361-4 452
Database 115
declaration 466
default 466
Definedness 75
Definition 6 81 466
Definition, conformal 67
Design 51 127-30 192-4 456 466
Design, abstract data types 314-15
Design, and algebraic types 265-8
Design, and behaviour 435
Design, and change 127
Design, and infinite lists 383-6
design, bottom-up 50
Design, data-directed 186 361
Design, fundamentals 18 39 68-9
Design, HOFs and polymorphism 192
Design, Huffman coding system 294
Design, list functions 96-8
Design, local definitions 61-2
design, modules 286
Design, monads and 422
Design, pattern matching 101
Design, top-down 49 97
Design, tuple types 54
Design, type classes 269
Divide and conquer 27 294 304 433
Documentation 286
Dragging problem 437
Dynamic programming 446-8
Enumerated type 240 466
Equality 25 205 352
Equality, infinite lists 392
equation 10 81 466
Equation, conditional 11 57 466
Eratosthenes 378
Error handling 67 129 260-4
Error handling, error transmission 262
error handling, error trapping 262
Error handling, error type 262 277
error message 16
Error message, type abstraction 306
Errors 16-17 479-83
Errors, and classes 206
Errors, module 483
Errors, offside rule 31
errors, program 17 482
errors, syntax 16 479
Errors, type 17 480
Evaluation 11 466
evaluation order 13 352
Evaluation, definedness of 75
Examples, document index 186-92 327
Examples, edit distance 265-8
Examples, library database 106-11 113 139 165 247
Examples, line intersection 70
Examples, quadratic equations 64-8
Examples, sales analysis 25-8 49-53 84-5 150
Examples, simulation 266
Examples, supermarket billing 114-19 139 166
Examples, text processing 119-23 139
Exclusive OR 38
export 283 466
Expression 6 466
Expression type 248 371
Expression type, re-arranging 251
Extensionality principle 195 394 467
Factorial 28 78 386 437
Feedback 384
Fibonacci numbers 29 37 386 444
FILE 14
Filter 100 125 152 163 467
Floating point operators 47 475
fold 161
Folding 125 151 161 439-44 467
Folding, and primitive recursion 126
Folding, designing folds 442
Forward composition 173 467
Fp-list 390
Function 5 21 25 452 467
Function application 10 35 174 180 465
Function application, partial see Partial application
Function composition 172-4 186 197 466
Function composition, pitfalls 174
function definitions 57-61
Function definitions, layout see Layout
Function, anonymous 177
Function, as argument 148
Function, as result 175
Function, curried see Currying
Function, higher-order see Higher-order function
Function, infix 126 467
Function, inverse 185 195
Function, lazy 439
Function, prefix 126 152 469
Function, strict 439
Functional programming 3
Functional programming, pure 469
further reading 461-3
Generalization 129 167-9 193 341 467
Gofer 13 15 477
Graph 337-41
Graph, components 338
Graph, path in 338 362
Graph, search 339
Greedy algorithm 448
guard 11 32 350 467
Hamming numbers 382 386
Haskell 8 13
Haskell implementations 477
Higher-order function 148-54 171 456 467
Higher-order function, advantage of 150
Higher-order function, proofs 194
Hugs 13 15 477
Identifier 32 467
Identifier, reserved 480
Imperative programming 7 451-9
Inclusive or 38
Induction 77 467
Induction, and recursion 80
Induction, base case 78 132
Induction, induction step 78 132
Induction, mathematical 78
Induction, proof template 81 132
Induction, structural 132
Information hiding 287
inheritance 212 467
inheritance, multiple 213
Input 5 467
Input/Output 397-414
Input/output, condition 411
Input/output, interleaving of 401
Input/output, monadic 398 408-14
Input/output, streams and monads 413
Instance 467
Instance, derived 466
Instance, different uses in Haskell 205
Instance, of class 205 467
Instance, of type 226
Instance, of type variable 155
Instance, of variable 155 467
Integers 8
Interaction 397-414
| Interaction, reading values 399
Interaction, stylized 406
INTERFACE 294 304 467
Juxtaposition 10 467
Keyword 480
Lambda expression 410 467
Lambda notation 176
layout 30
Layout, recommended 32 59
Lazy evaluation 101 238 345-8 401 458 468
List comprehensions 111-14 126 352-60 457
List comprehensions, calculation rules 354
List comprehensions, filter 163
List comprehensions, generator 112 353
List comprehensions, multiple generators 353
List comprehensions, pitfalls 113 382
List comprehensions, refutable patterns 359
List comprehensions, syntax 353
List comprehensions, test 112 353
List of successes technique 362
LISTS 89-95 468
Lists, algebraic type of 256
Lists, as Pascal type 454
Lists, as processes 383 446
Lists, as sets 435
Lists, constructor 92
Lists, defined 390
Lists, definition forms 125-7
Lists, finite 132
Lists, finite/partial 390
Lists, functions over 91
Lists, head 91
Lists, infinite 376-89 392 459
Lists, partial 389
Lists, permutations 356
Lists, proofs 131-42
Lists, tail 91
Lists, type of cons 92
Literal 468
Local definitions 58-61 104 176 468
Local definitions, calculation 350
Local definitions, polymorphic 232
Mapping 125 148 160 468
Mathematical induction 78 393 453 468
Maximal common subsequence 446
Memoization 444-50 468
Modules 282-6 468
Modules, export list 284
Modules, import list 284
Modules, interface files 285
Modules, structure diagram 300
Monad 408 415-23 459 468
Monad, advantages of monads 422
Monad, definition 416
Monad, examples 417
Monad, sequencing 416
Monad, state 419
Monad, then operation 409
Monad, trees 418
NAME 8 32 389 468
Name, qualified 284
Numbers, defined 390
Numbers, floating point 46-9 467
Numbers, integers 24 467
Numbers, natural numbers 25 468
Numbers, prime 378
numbers, random 379
numbers, scientific notation 46
Object-oriented 203 212
Offside rule 31 468
Operator 34-6 95 468
Operator sections 182 426 468
Operator, associativity of 34
Operator, binding power of 35 465
Operator, calculation 351
Operator, definitions of 36
Operator, floating point 47
Operator, infix 34
Operator, table of properties 475
Order 25 426
Output 5 468
Overloading 48 203 204 468
PARAMETER 5 468
Parsing 365-76 468
Parsing, basic parsers 366
Parsing, combinators 368
Parsing, expressions 371-6
Parsing, library 375
Partial application 178 181 468
Partial information 401
Pattern 37 55 468
Pattern matching 37 55 101-5 252 348 349
Pattern matching, conformal 67 104 466
Pattern matching, sequential 105
Pattern, nested 55 102
Pattern, refutable 359
Pattern, repeated variables in 102
Pattern, wild card 37 470
Pipeline 191
Pitfalls, and 44
Pitfalls, Boolean results 40
Pitfalls, composition 174
Pitfalls, cons and append 95
Pitfalls, function application 35
Pitfalls, list comprehensions 113 382
Pitfalls, negation 24
Pitfalls, paired arguments 56
Pitfalls, syntax 69
POINTER 454
Polymorphic type checking 229
Polymorphism 154-9 457 468
Polymorphism, advantages of 158
Prelude 14
Primitive recursion 27 249 250 386 469
Primitive recursion, base case 27 249
Primitive recursion, recursive case 27 249
Product type 241
Products 489
PROGRAM 4
Program development see Design
Program modification 104 150 305 326
Program transformation 198 469
Programming language 4
Projects 285
Prompt 14 402
proof 73-87 453 469 472
Proof obligation 343
Proof, abstract data types and 342
Proof, algebraic types 275
Proof, by cases 75 199
Proof, direct 74
Proof, finding proofs 80-5 133
Proof, function level 194
Proof, generalizing the goal 140
Proof, higher-order functions 194-200
Proof, induction see Induction
Proof, lists 131-42
Proof, non-primitive recursive 278
Property 152 163
Pythagorean triple 354 377 382
Re-use 150 153 159 193 273 287
Reasoning see Proof
Records 453
Recursion 80 384 469
Recursion, mutual 253 341 468
Recursive type 247-56
Recursive type, mutually recursive 253
Relation 334
Relation, composition 336
Relation, operations 335
|
|
|
Реклама |
|
|
|