Read Thinking Functionally with Haskell Online
Authors: Richard Bird
boolean
conjunction,
see
(&&)
disjunction,
see
(||)
bottom,
see
⊥ undefined value
brackets,
15
breadth-first search,
257
break
,
102
C,
239
C#,
x
case
expression,
see
expressions
chain completeness,
116
,
212
,
220
chain of approximations,
215
,
218
,
225
Chitil, O.,
209
comment convention,
8
common subexpression elimination,
147
comparison operations,
32
compiled functions,
154
complete partial orderings,
218
Complex
,
49
concatMap
,
307
concrete data types,
194
conditional expressions,
189
const
,
86
context,
11
Control.Monad.ST
,
251
Control.Monad.State.Lazy
,
251
Control.Monad.State.Strict
,
251
conversion functions,
53
coprime numbers,
66
Coq,
337
cosine function,
ix
cp
cartesian product,
92
,
93
,
97
,
131
,
155
,
244
,
320
Curry, H.B,
87
cycle
,
232
cyclic lists,
212
data type declarations,
30
,
56
,
189
,
194
,
202
,
229
Data.Array
,
259
Data.Complex
,
49
Data.Maybe
,
319
Data.STRef
,
251
de Moor, O.,
87
deep embeddings,
194
default definitions,
31
dependently-typed languages,
48
,
90
directed graphs,
260
distributive operations,
130
divide and conquer algorithm,
46
,
76
divMod
,
51
done
,
240
Double
,
49
drop
,
79
dropWhile
,
106
e
,
141
echoing,
241
either
,
132
else
,
12
embedded domain-specific language,
209
empty list,
see
[]
enumFrom
,
211
equality operations,
31
equational reasoning,
ix
,
1
,
73
,
81
,
89
,
96
,
99
,
110
,
135
,
298
error messages,
23
,
24
,
39
,
43
,
103
,
151
,
192
,
250
,
279
evaluation
innermost,
28
lazy,
28
,
75
,
80
,
89
,
145
,
154
,
175
,
198
,
243
outermost,
28
exception handling,
239
explicit layout,
242
export declarations,
see
modules
expressions
well-formed,
22
factoring parsers,
282
failure,
39
Feijen, W.,
xi
Fibonacci function,
164
,
232
,
251
,
266
FilePath
,
34
filter
,
38
,
67
,
70
,
72
,
97
,
98
,
119
,
134
,
299
flat ordering,
217
Floating
,
52
floating-point literal,
51
floating-point numbers,
112
,
293
fmap
,
71
foldl1
,
231
forall
,
253
Fractional
,
50
fromJust
,
319
function,
1
composition,
see
(.)
computable,
219
continuous,
219
conversion,
50
higher-order,
110
identity,
see
id
monotonic,
219
overloaded,
31
partial,
9
primitive,
150
strict,
29
,
59
,
72
,
120
,
137
,
150
,
154
type,
see
->
values,
145
getChar
,
240
getLine
,
241
global definition,
see
top-level definition
Goerzen, J.,
21
golden ratio,
164
Graham, R.,
62
grammars,
286
greedy algorithms,
192
guard
,
306
guards,
10
Hamming, W.R.,
232
Hangman,
266
Hardy, G.H.,
78
Harper, B.,
47
hash tables,
256
1998 online report,
21
layout,
36
reserved words,
12
standard prelude,
see
standard prelude
syntax,
22
values,
22
well-formed literals,
122
helper functions,
26
Hinze, R.,
275
History of Haskell
,
20
homomorphisms,
see
laws
Hughes, J.,
209
identities,
see
laws
identity elements,
15
,
96
,
184
,
247
,
281
identity function,
see
id
if
,
12
imperative languages,
x
import declarations,
see
modules
indexitis,
95
general,
179
over lists,
113
over numbers,
110
pre-packaged,
120
inductive cases,
see
induction
infinite loops,
24
,
28
,
30
,
77
,
124
,
211
infix data constructors,
194
infix operations,
9
infixr
fixity declaration,
153
inits
,
125
inlining,
54
insertion sort,
see
sorting
instance
declarations,
32
integer literals,
50
interact
,
227
interaction,
221
interactive programs,
227
interpreters,
36
involutions,
see
laws
isAlpha
,
42
isSpace
,
283
it
,
229
Jeuring, J.,
209
join
,
264