Read Thinking Functionally with Haskell Online
Authors: Richard Bird
Just
,
244
KRC,
x
Lapalme, G.,
180
last
,
68
Launchbury, J.,
275
laws
arithmetic,
17
bifunctor,
302
commutative,
186
distributive,
186
equational,
ix
idempotence,
204
left-distributive,
293
left-zero,
293
point-free,
110
right-zero,
293
trigonometric,
ix
layout description language,
182
lazy evaluation,
see
evaluation
least fixed points,
220
least upper bounds,
218
left-recursion problem,
287
Leibniz, G.,
243
let
,
see
expressions
lexicographic order,
76
,
189
,
217
liftM
,
264
Linux,
12
list
adjacency,
261
comprehensions,
66
,
92
,
156
,
244
,
245
,
248
concatenation,
see
(++)
cyclic,
210
doubly-linked,
228
finite,
64
identity function,
118
indexing,
see
(!!)
notation,
3
listArray
,
260
lists
adjacency,
261
literate programming,
8
log
,
141
logarithmic factors,
159
logarithmic time,
56
lower bounds,
157
lowercase,
5
Loyd, S.,
267
Mac,
12
map
,
5
,
23
,
31
,
38
,
67
,
70
,
80
,
91
,
119
,
299
mapM
,
265
mapM_
,
265
Marlow, S.,
20
Maslanka, C.,
48
mathematical operators,
217
matrix
addition,
105
multiplication,
105
maximum
,
122
McIlory, D.,
21
mean
,
151
mergesort,
see
sorting
Miranda,
x
mkStdGen
,
223
mod
,
9
hierarchical names,
21
monadic programming,
239
MonadPlus
,
292
monads,
243
commutative,
264
monoids,
247
mplus
,
292
mutable structures,
248
mzero
,
292
natural transformations,
87
negate
,
50
newline character,
see
\
n
newSTRef
,
251
Newton’s method,
60
newtype
declarations,
278
non-decreasing order,
74
none
,
134
normal form,
146
not
,
30
notElem
,
98
Nothing
,
244
null tuple,
see
()
Number Theory,
219
numbers
complex,
see
Complex
floating point,
see
Float
,
Double
floating-point,
60
limited precision integers,
see
Int
unlimited precision integers,
see
Integer
O’Neill, M.,
237
O’Sullivan, B.,
21
one
,
134
Oppen, D.,
209
or
,
102
Ord
,
32
order of association,
2
–4,
17
,
25
,
62
,
196
Orwell,
x
otherwise
,
11
palindromes,
41
paper–rock–scissors,
221
paragraphs,
191
parentheses,
15
parsers,
276
parsing,
239
partial application,
87
partial numbers,
58
partition
,
311
Patashnik, O.,
62
Paterson, R.,
337
patterns
n+k
,
111
disjoint,
68
exhaustive,
68
irrefutable,
231
matching,
57
,
67
,
68
,
74
,
115
,
194
,
332
perfect numbers,
65
Perlis, A.,
145
persistent data structures,
254
Pierce, B.,
87
plumbing combinators,
86
point-free calculations,
86
,
330
point-free reasoning,
298
pointers,
146
prefix names,
25
prefix operators,
50
Prelude
,
25
printing values,
33
profiling tools,
154
program variables,
251
programs,
7
prompt symbol,
13
properFraction
,
56
putChar
,
240
Pythagorean triads,
66
qualified names,
306
quicksort,
see
sorting
Rabbi, F.,
180
Ramanujan, S.,
78
randomR
,
223
rank 2 polymorphic types,
253
readFile
,
34
reading files,
34
ReadS
,
277
reads
,
277
readSTRef
,
251
Real
,
50
recursive definitions,
29
,
77
,
219
reduction,
see
evaluation
reference variables,
251
reflexive relation,
217
return
,
241
running sums,
125
runST
,
252
SASL,
x
scanr
,
130
scope,
11
select
,
175
selection sort,
see
csorting
semicolon,
36
separator characters,
200
sequence_
,
264
set theory,
211
shared values,
146
side-effects,
243
sieve of Sundaram,
233
signum
,
50
Sijtsma, B.,
237
snd
,
51
insertion sort,
172
numbers,
262
selection sort,
172
space character,
3
space efficiency,
29
,
84
,
147
,
149
,
154
,
171
Spivey, M.,
337
sqrt
,
60
standard prelude,
13
,
30
,
39
,
42
,
51
,
56
,
73
,
80
,
86
,
87
,
127
,
150
,
161
,
168
,
213
,
232