Àâòîðèçàöèÿ
Ïîèñê ïî óêàçàòåëÿì
Lawrence C. Paulson — ML for the working programmer
Îáñóäèòå êíèãó íà íàó÷íîì ôîðóìå
Íàøëè îïå÷àòêó? Âûäåëèòå åå ìûøêîé è íàæìèòå Ctrl+Enter
Íàçâàíèå: ML for the working programmer
Àâòîð: Lawrence C. Paulson
Àííîòàöèÿ: The new edition of this successful and established textbook retains its two original intentions of explaining how to program in the ML language, and teaching the fundamentals of functional programming. The major change is the early and prominent coverage of modules, which the author extensively uses throughout. In addition, Paulson has totally rewritten the first chapter to make the book more accessible to students who have no experience of programming languages. The author describes the main features of new Standard Library for the revised version of ML, and gives many new examples, e.g. polynomial arithmetic and new ways of treating priority queues. Finally he has completely updated the references. Dr. Paulson has extensive practical experience of ML, and has stressed its use as a tool for software engineering; the book contains many useful pieces of code, which are freely available (via Internet) from the author. He shows how to use lists, trees, higher-order functions and infinite data structures. He includes many illustrative and practical examples, covering sorting, matrix operations, and polynomial arithmetic. He describes efficient functional implementations of arrays, queues, and priority queues. Larger examples include a general top-down parser, a lambda-calculus reducer and a theorem prover. A chapter is devoted to formal reasoning about functional programs. The combination of careful explanation and practical advice will ensure that this textbook continues to be the preferred text for many courses on ML for students at all levels.
ßçûê:
Ðóáðèêà: Computer science /
Ñòàòóñ ïðåäìåòíîãî óêàçàòåëÿ: Ãîòîâ óêàçàòåëü ñ íîìåðàìè ñòðàíèö
ed2k: ed2k stats
Èçäàíèå: 2 edition
Ãîä èçäàíèÿ: 1996
Êîëè÷åñòâî ñòðàíèö: 496
Äîáàâëåíà â êàòàëîã: 16.10.2010
Îïåðàöèè: Ïîëîæèòü íà ïîëêó |
Ñêîïèðîâàòü ññûëêó äëÿ ôîðóìà | Ñêîïèðîâàòü ID
Ïðåäìåòíûé óêàçàòåëü
Library, arrays and 335
Library, characters and 26
Library, functionals and 187
Library, input/output and 350
Library, lists and 82 335
Library, strings and 26
Lisp 7 9 75 234
List structure 82 138
list type 70 144
ListPair structure 82 187
LISTS 6 69—122 141 336
Lists in -calculus 387—388
Lists in other languages 71
Lists, doubly linked see “Ring buffers”
Lists, functionals for 182—188 195
Lists, induction on 225
Lists, lazy see “Sequences”
LN function 24
Local declarations 55—56 300—301 457 460
Logic, first-order 398—407
Logic, notation 215
Logic, prepositional 164—170 399—400
Lolita 11
MacQueen, David 12 299
Magnusson, Lena 13
Making change 83—84 139 197—198
map function 182—183 187—188 190 209
map function for pairs of lists 187
map function for sequences 195
map function, proofs about 235—236
map function, x sequences 199
Match exception 73 137
Math structure 24 137
Matrix operations 87—93 183 275—280
Mauny, Michel 136
max function 24
maxl function 72—73 238
mem function 97—99 185
Menissier-Morain, Valerie 446
Merging 111 117—118
meta-variables see “Variables in unification”
Miller, Keith 108
Miller, Steven 256
Milner, Robin 11—12 66 421
min function 24
Miranda 9
ML 1
ML and verification 214—215
ML as meta-language 12—13 430—431
ML, compilers for xii—xiii
ML, evolution of ix 11—12 28
ML, Standard 10—16
ML-Yacc 371
mod infix 22 49
Modules 12 16 59—63 257—312 “Signatures” “Structures”)
Modules, reference guide to 308—312
Multisets 251—254 399
Names see “Identifiers”
Natural numbers 216—219 224
Natural numbers in -calculus 386—387 393—395
Negation normal form 166—167 238—240
newmem function 98 187
Newton — Raphson method see “Square roots real”
nil constructor 70—71
Nipkow, Tobias 371
nlength function 76 226—227 229 233 238
NONE constructor 128
nonfix declarations 38 460
Nordstroem, Bengt 13
Normal forms in -calculus 374—375 392
not function 27 127
NQTHM system 246
nrev function 79—80 227—233 237
nth function 138 424
Null function 74 82
null function for sequences 327
Nuprl system 443
o infix 180—181 187 234—237 370
Occurs check 416—417
Odersky, M. 102
Okasaki, Chris 159 164
op keyword 37—38 176—177 180—181 186 465
open declarations 299—305 363 460
Oppacher, F. 443
Oppen, Derek 354
option type 128
ord function 25—26
ORDER signature 280—284 286
Order type 127 281
Ordered binary decision diagrams 170 446
ordered predicate 249
orelse keyword 27 43 462
OS structure 15
Otter system 443
Overflow exception 137
Overloading 23—24 27 64 67 102
O’Keefe, Richard 112—113
Pairs and tuples 27—38 136
Pairs and tuples in -calculus 386
Palindromes 207—208 211
Parameters in logic 406—407 416—417 428—433 435
Park, Stephen 108
Parsing 360—372 381—382 411—414
Parsing, LR 371
Pascal 4 7 108 175
Pascal, pointers in 316 321 332
Patterns 130—133 182—183 463—464
Patterns and fn notation 172
Patterns for datatypes 125—127
Patterns for lists 72—73
Patterns for pairs and tuples 28—32
Patterns for records 34—35 338
Patterns for trees 143
Patterns in val declarations 31—32 131—132 138
Patterns, layered see “As keyword”
Patterns, non-exhaustive 73—75 83—85 137
Patterns, overlapping 126 168
Patterns, wildcard 74 126 131
Paulson, Lawrence C. 246 440 443
PDP-8 446
Pelletier, F. 441
permutations 95—96 251
Peyton Jones, Simon L. 10
Polymorphism see “Types”
Polynomials 114—121 446
Posegga, J. 443
Powers 48—49 223—224
powerset 99—100
Pretty printing 351—356 369—371 382—384 414
Pretty structure 355
Prime numbers 94 199 219
PrimIO functor 351
print function 345 348
Priority queues 159—164 281 283—284 290—293
PriorityQueue functor 284 296
Product types 27—38
Products, Cartesian 100 187 203
PROLOG 71 417 443
proof 399—407
Proof, automated 440—443
Proof, constructive 219
Proof, states 420—424
prop type 165
Quaife, A. 443
Quantifiers 215—216 403—407 428—430
Quantifiers and induction 221—224 227—228 245
Queues 206 258—274
Queues, mutable 334
Queues, priority see “Priority queues”
raise keyword 136 462
Random numbers 108—109 198—199
Reade, Chris 154
Real function 24
REAL signature 303
Real structure 24 340
Real type 22—24 303
Real32 structure 14
Real64 structure 14
Rec keyword 460
Records 32—35 338
Records, selecting fields of 34—35 464 467
Recursion see “datatype declarations” “Functions”
Recursion in -calculus 388—395
recursion, infinite 363
Recursion, mutual 57
Recursion, well-founded 245—246
ref constructor 314 325
ref type 314 321
references 314—334
References and polymorphism 321—326
References, cyclic 316 329 331
Referential transparency 3—4
reflect function 144 189 230—233
repeat function for parsing 362—363 382
repeat function for powers of a function 188—189 202
repeat function, tactical 436—437 439—440
Reppy, John 13
rev function 79—80 82
revAppend function 80 227—228
Reversing a list 79—80 186 324—325 “Rev” “RevAppend”)
Ring buffers 331—334
Scanning see “Lexical analysis”
Scheme 9
Scott, Dana 13 375n
Search 204—211
Search, best-first 160 206
Search, breadth-first 104 204—208 210—211
Search, depth-first 103—105 204—210 437—443
Search, depth-first, iterative deepening 210—211 439 441
Sections 179—181
Sedgewick, Robert 105 108
Semirings 280
Sequences 191—211 366—367 423
Sequences and numerical analysis 199—201
Sequences, infinite 8 195 226
Sequences, infinite, in -calculus 388 389 395
Sequences, using references 327—330
Sequents 398—407 428
Sequents, basic 399 423—424
Set operations 98—100 187
SETHEO system 443
Sharing of references 323
Sharing, constraints 290—294 306—310 459
Side effects 3 323
Sign function 24
Signature constraints 264—266 269 275 299 311—312
signature declarations 62—63 311 457
signatures 62—63 263—271 285 309—310 458
Signatures, closed 297—299
Signatures, empty 288
sin function 24
Sisal 9
Size exception 138
Size function 25
size function for trees 143 189 232
Skolem Functions 417
Sleator, Daniel 262
Smith, M.H. 11
Software development 15—16 213 285
SOME constructor 128
Sorting 108 114 160—162 177—178
Sorting, topological 105—107
Sorting, verification of 249—254
Space 5 42 130
Specifications in signatures 264 286 309—310 459
Specifications of programs 220 248—249 251 255—256
Specifications, executable 10 229
sqrt function 24
Square roots, integer 52—53
Square roots, real 54—55 199—201
Srivas, Mandayam 256
Static binding 21
Stickel, Mark 170 446
Str function 26
StreamIO functor 350
streams, input/output 344—347
String structure 26 341—342
string type 26
StringCvt structure 341
strings 24—26 73—74 184 340—343 465—466
Structure declarations 60—63 311 457
structure specifications 283—284 310 459
structures 60—62 308 311 458
Structures in logic 398
Structures, empty 288
subs infix 99 115
Subscript exception 82 137
Substitution in -calculus 373—379
Substitution in logic 403—404 408
Substring structure 26 341 348
substrings 26 341—342 348—350
Suen, E. 443
Sum of two squares 93—94
Sussman, Gerald 200
Tacticals 13 436—440
Tactics 13 420—435 440—443
take function 77 82 111 424
take function for sequences 193 328
take function, proofs about 251—254
takewhile function 184
Tarditi, David 371
Tarjan, Robert 262
Tautology checking 164—170 238—242 354
Terms in logic 398 408
Terms of -calculus 372—373 378—379
Theorem proving 11—13 397—443 446
Time structure 15
Timer structure 15
tl function 75 82 138
tl function for sequences 192 327
Tofte, Mads 12 325
TREE signature 295 297
Tree structure 148 297 304—305
tree type 142 148 304
Trees 6 141—164 189
Trees, balanced 143—147 150—154
Trees, binary search 150—154 176—177 281—283
Trees, induction on 229
Trees, traversing 145—147 189 231—233
true constructor 26 127
TRUNC function 24
Turner, David A. 9 47 100 182
Type abbreviations see “Type declarations”
Type abbreviations in signatures 307
type constraints 23—24 29—30 35 324 334 462
Type constructors 368
Type declarations 29 35 460
type specifications 269 309 459
Type variables 65—67 368 466
Type variables, equality 97—99
Types 63—67 199 464
Types, dynamic 136 177
Types, equality 97 102
Types, parsing and displaying 367—371
types, polymorphic 128—130 321—326
Types, restrictiveness of 71 124 325
Unification 405—407 416—420
Unification, efficient 420
Unification, higher-order 421
Unification, tactic for 423—426 435
Ðåêëàìà