Àâòîðèçàöèÿ
Ïîèñê ïî óêàçàòåëÿì
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
Ïðåäìåòíûé óêàçàòåëü
! function 314—318
-calculus 182 372—396
-arrays 336—339
() constructor 32
* infix 22 23 303
+ infix 22 23 303
- infix 22 23 303
/ infix 23 303
:: constructor 70—71 77 186
:= infix 314—317
< infix 26
<= infix 27
<> infix 27 (see also “Equality”)
= infix 27 97
=> keyword 133 138 172 463
>= infix 27
>infix 27
@ infix 78—80 82 186
@ infix for sequences 195
@ infix, eliminating 80 111 146
@ infix, proofs about 226—229
AAMP5 microprocessor 256
Aasa, Annika 339
abs function 24
Abstract types 97 115 263—269
Abstract types for proof systems 421
Abstract types, examples of 281—283 327—334
Abstract types, how to declare 268
Abstraction over variables in -calculus 372—374 377 379
Abstraction over variables in logic 407—409
abstype declarations 266—269 281 284 460
abstype declarations, repeated 293
Adams, Stephen 154
ALF system 13
all function 184—185 187
Amortized cost 262
Andalso keyword 27 43 462
Andrews, Peter 446
app function 320
Appel, Andrew 10 15 102 351 371
APPEND see “@”
Applicative programming see “Functional programming”
ARITH signature 62—63 86 116
Arithmetic in ML 14 22—24 137 465
Arithmetic in ML, unlimited precision 445—446
Array structure 335
Arrays, flexible 154—159 263 300
Arrays, functional 336—339
Arrays, mutable 154 335—336
AS keyword 132 156 463—464
Assignment commands see “: =”
Assignments in logic 398
Association lists 101—102 150 287—288 336
Atan function 24
AUTOMATH system 395
Backtracking see “Search depth-first”
Backus, John 6n 9
Beckert, B. 443
before infix 320
Bevier, William R. 256
Biagioni, Edoardo 10
Binary arithmetic 85—87
Bind exception 137 138
BinIO structure 350
Boehm, Hans 446
Bool structure 340
bool type 26 127
Boolean values 26—27
Boolean values in -calculus 385
Boyer/Moore theorem prover see “NQTHM”
Braun, W. 155
Bruijn, N.G. de 395
Burge, W.H. 371
C 15—16 274
Call-by-name 44—45 194 200n
Call-by-name in -calculus 375 388—392 395
Call-by-need 8 9 45—48 140
Call-by-value 39—40 43 44 136 140
Call-by-value in -calculus 375 389—393
CAML 12 136
Cardelli, Luca 67
Cartwright, Robert 446
CASE expressions 133 137—140 173 462
CEIL function 24
Char structure 26 341—342
Char type 25—26
Chr exception 137
chr function 25—26 137
Church — Rosser Theorem 374
Church, Alonzo 47 372
Cohn, Avra 256
Combinators 180—182
Comments 20 467
complex numbers 59—61
Composition of functions see “o”
Computer algebra 114
CONCAT function 74 82
concat function for lists 81 187 190
concat function for sequences 437
Concatenation of lists see “@”
Concatenation of lists, in -calculus 388 395
Concatenation of sequences 195
Concatenation of strings 25
conditional expressions 26—27 43—44 462
Conditional expressions and exceptions 137 140
Conditional expressions in -calculus 385 391
Conditional expressions, type checking of 64
Conjunctive normal form 167—170 240—242
Cons see “: : constructor”
Constable, Robert 443
Constructive type theory 13 443
Constructors 125 130—132
Constructors for lists 70
Constructors, hiding 159 265—269
Control structures 317—321
cos function 24
Cousineau, Guy 12
Damas, Luis 67
Datatype bindings 267 461
datatype declarations 124—130 460
datatype declarations with one constructor 159 261
datatype declarations, recursive 142 165 192 194 233
datatype declarations, repeated 128 293
datatype specifications 310
Date structure 15
Davis — Putnam procedure 170 446
Declarations 18—22 53—56 460
Declarations in a structure 60
Declarations of modules 311—312 457—458
Declarations, simultaneous 56—58
Declarative programming 10
Depth function 143 189 232
Dereferencing see “!”
Dictionary functor 281—283
DICTIONARY signature 149—150 266 281 288
Dijkstra, Edsger 82 93 94 159
Disjoint sum type 129—130
Disjunctive normal form 170
distrib function see “Conjunctive normal form”
Div exception 137
div infix 22 49 64
Domain exception 137
Domain theory 215 216 233 247 443
DROP FUNCTION 78 82 111 188 424
drop function, proofs about 251—254
dropwhile function 184
Efficiency 9—10 47
Efficiency of recursion 42 76—80
Eight queens problem 208—211
Empty exception 138
Environments 21 39 62 378 393 418
eqtype specifications 266 269 287—288 310 459
EQUAL constructor 127 281 289
Equality 96—107
Equality and abstract types 97 267 268
Equality and functions 97 234—236
Equality of references 316 332—334
Euclid’s algorithm see “Greatest Common Divisor”
Evaluation 38—48 136
evaluation, lazy see “Call-by-need”
Evaluation, strict see “Call-by-value”
exception declarations 135—136 304 460
exception specifications 310 459
Exceptions 134—141 462
Exceptions and commands 320—321
Exceptions, eliminating 151
Exceptions, type checking of 325
exists function 184—185 187
exn type 135—139 141 177 321
Exp function 24
explode function 73
Expressions 462—463
Expressions in programming languages 2—4
fact function 40—42 245
facti function 40—42 47
facti function, proofs about 214 220—222 245 247
facti function, type checking of 64
Factorials 40—43 189 317—319 “facti”)
Factorials in -calculus 388—389 393—395
Fail exception 138
false constructor 26 127
Fibonacci numbers 49—51 191 222—223 329—330
Filter function 182—183 187 209
filter function for sequences 196 206
Fitzgerald, J.S. 256
Fixed point property 389 392
Fixedlnt structure 14
Floor function 24
fn expressions 172—174 178 323 427—428 462
fn expressions and delayed evaluation 193 202 391
foldl function 185—187
foldl function, proofs about 236—237
foldr function 185—187 190 211 409
foldr function, proofs about 237
Formula 398
Formula in ML 408
FORTRAN 2 7 9 127 356
FP 9
from function 193 199
Frost, R. 371
Fully-functorial programming 294—299
fun declarations 19—20 28—31 125—127 460
fun declarations of curried functions 174 182—183
fun declarations, polymorphic 325
Functional languages 9
Functional programming 1—11 38 58
Functional programming and imperative features 327—330 336—339
Functional programming, applications of 10
Functionals 7—8 179—190 409 426—428 “Tactics”)
Functionals and parsing 362—366
Functionals, proofs about 233—237
Functions 6
Functions as arguments 177—178 280
Functions as data 176—177 191—192
Functions with multiple arguments/results 29—32 82 110
Functions, curried 173—178 183—185 209
functions, declaring see “Fun declarations”
Functions, higher-order see “Functionals”
Functions, iterative 42—44 49 51 76—78 151 186 247
functions, recursive 6 40—44 48—53 175 317
functor declarations 272 275—277 285—289 312 458
functors 271—299 309
Gansner, Emden 13
Garbage collection 5—6 130 313
Gaussian elimination 90—92
General structure 15
Gerhart, Susan 256
Gordon, Michael J.C. 12 440 443
Grant, P.W. 92
graphs 102—107 278—280
GREATER constructor 127
Greatest common divisor 3 10 48 53 248
Greatest common divisor for polynomials 120—121
Greiner, John 326
HAL 397 407—443
Halfant, Matthew 200
Hamming problem 330
handle keyword 138 462
HARP system 443
Harper, Robert 326
Haskell 9 10 92 102 13In
hd function 74 82 138 176
hd function for sequences 192 327
heaps see “Priority queues”
Heaps, binomial 164
Hoare, C.A.R. 10 15 69 110 111
HOL system 443
Holmstrom, Soren 336
Hoogerwoord, R. 159
HOPE 12
HTML 348—350
Hudak, Paul 9
Huet, Gerard 12 421
Hughes, John 200 336
Identifiers 21—22 61 465—467
if expressions see “Conditional expressions”
ignore function 319
Imperative programming 2—5 79 108
Imperative programming in ML 313—340 344—356
ImperativeIO functor 350
implode function 73
include specifications 307—308 310 459
Induction on natural numbers 216—224 244—245
Induction on size 238—245
Induction, structural 224—233 245
Induction, well-founded 238 242—247
infix declarations 460
Infix operators 36—38 283 303 363 462
Infix operators, parsing 364—366 412—414
Input/Output 8 340—356
Instances of polymorphic types 65 176
Instances of signatures 264
Instances of terms/ 379 416—420
Int structure 24 340
int type 22—24
inter function 98 183
interleave function 195 202
IntInf structure 14
Io exception 344
Isabelle system 246 421 440 443
it value 19 50 174
iterates function 196 198 331
Keywords of Standard ML 21
Lakatos, Imre 256
LAMBDA system 13
Landin, Peter 12
Launchbury, J. 371
Lazy ML 9
LCF system 11—13 421 440 443
LeanTAP system 443
Left-recursive rules 361 381 412
length function 76—77 82 229
Leroy, Xavier 136
LESS constructor 127
let expressions 53—55 135—137 300—301 318
let expressions and polymorphism 324
Letz, R. 443
Lexical analysis 358—360 368 412
Library ix 13—15 127 319
Library, arithmetic and 24 303
Ðåêëàìà