Thinking Functionally with Haskell (54 page)

BOOK: Thinking Functionally with Haskell
10.15Mb size Format: txt, pdf, ePub

Bool
,
10
,
30

boolean

conjunction,
see
(&&)

disjunction,
see
(||)

bottom,
see
⊥ undefined value

braces,
15
,
36
,
242

brackets,
15

breadth-first search,
257

break
,
102

C,
239

C#,
x

case
expression,
see
expressions

case analysis,
10
,
53

Category Theory,
71
,
87

chain completeness,
116
,
212
,
220

chain of approximations,
215
,
218
,
225

Char
,
3
,
30
,
90
,
254

Chitil, O.,
209

comment convention,
8

common subexpression elimination,
147

commonWords
,
3
,
4
,
34
,
75

comparison operations,
32

compiled functions,
154

compilers,
36
,
154

complete partial orderings,
218

Complex
,
49

concat
,
6
,
67
,
70
,
157

concatMap
,
307

concrete data types,
194

conditional expressions,
189

const
,
86

context,
11

Control.Monad
,
247
,
264

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

cross
,
81
,
301

curry
,
86
,
135

Curry, H.B,
87

cycle
,
232

cyclic lists,
212

data constructors,
25
,
56

data type declarations,
30
,
56
,
189
,
194
,
202
,
229

Data.Array
,
259

Data.Char
,
13
,
42
,
227
,
283

Data.Complex
,
49

Data.List
,
75
,
106
,
125
,
154
,
311

Data.Maybe
,
319

Data.STRef
,
251

de Moor, O.,
87

deep embeddings,
194

default definitions,
31

dependently-typed languages,
48
,
90

deriving
clauses,
39
,
57

directed graphs,
260

distributive operations,
130

div
,
9
,
24
,
59

divide and conquer algorithm,
46
,
76

divMod
,
51

do
-notation,
34
,
36
,
239
,
242
,
245

done
,
240

Double
,
49

drop
,
79

dropWhile
,
106

e
,
141

echoing,
241

efficiency,
ix
,
145

Either
,
82
,
132

either
,
132

else
,
12

embedded domain-specific language,
209

empty list,
see
[]

Enum
,
65
,
90
,
211

enumerations,
65
,
210
,
217

enumFrom
,
211

Eq
,
31
,
56

equality operations,
31

equational reasoning,
ix
,
1
,
73
,
81
,
89
,
96
,
99
,
110
,
135
,
298

error
,
36
,
39
,
179

error messages,
23
,
24
,
39
,
43
,
103
,
151
,
192
,
250
,
279

evaluation

eager,
28
,
154
,
157

innermost,
28

lazy,
28
,
75
,
80
,
89
,
145
,
154
,
175
,
198
,
243

outermost,
28

to normal form,
22
,
27
,
146
,
156

exception handling,
239

exp
,
40
,
110
,
141

explicit layout,
242

exponentiation,
40
,
59
,
110

export declarations,
see
modules

expressions

case,
127
,
245

conditional,
12
,
23
,
181

lambda,
26
,
148
,
242

let,
24
,
146
,
147
,
248

well-formed,
22

factorial function,
28
,
220

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

flip
,
59
,
123
,
148

Float
,
2
,
30
,
49

Floating
,
52

floating-point literal,
51

floating-point numbers,
112
,
293

floor
,
46
,
52
,
60

fmap
,
71

foldl
,
122
,
150
,
152
,
260

foldl'
,
150
,
152

foldl1
,
231

foldr
,
117
,
152
,
164

foldr1
,
121
,
231

forall
,
253

fork
,
81
,
134
,
301

Fractional
,
50

fromInteger
,
50
,
67
,
151

fromIntegral
,
51
,
67
,
151

fromJust
,
319

fst
,
28
,
51

function,
1

application,
2
,
4
,
14

arguments,
1
,
3

composition,
see
(.)

computable,
219

continuous,
219

conversion,
50

higher-order,
110

identity,
see
id

monotonic,
219

non-strict,
29
,
58

overloaded,
31

partial,
9

polymorphic,
31
,
72

primitive,
150

recursive,
17
,
219

results,
1
,
3

strict,
29
,
59
,
72
,
120
,
137
,
150
,
154

type,
see
->

values,
145

Functor
,
71
,
264

functors,
87
,
264

getChar
,
240

getLine
,
241

GHC,
35
,
36
,
154
,
169
,
275

GHCi,
12
,
22
,
36
,
154

Gibbons, J.,
209
,
275

global definition,
see
top-level definition

Goerzen, J.,
21

Gofer,
x
,
275

golden ratio,
164

Graham, R.,
62

grammars,
286

greedy algorithms,
192

guard
,
306

guarded equations,
9
,
12
,
332

guards,
10

Hamming, W.R.,
232

Hangman,
266

Hardy, G.H.,
78

Harper, B.,
47

hash tables,
256

Haskell,
x
,
1

1998 online report,
21

2010 online report,
21
,
111

commands,
1
,
33
,
34
,
239

layout,
36

libraries,
7
,
181

numbers,
2
,
112

Platform,
12
,
154

reserved words,
12

standard prelude,
see
standard prelude

syntax,
22

values,
22

well-formed literals,
122

head
,
38
,
68
,
72

head normal form,
146
,
157
,
172

helper functions,
26

Hinze, R.,
275

History of Haskell
,
20

homomorphisms,
see
laws

Hughes, J.,
209

Hutton, G.,
21
,
297

id
,
18
,
70
,
71
,
94
,
96
,
253

idempotence,
205
,
see
laws

identities,
see
laws

identity elements,
15
,
96
,
184
,
247
,
281

identity function,
see
id

if
,
12

imperative languages,
x

import declarations,
see
modules

in-place algorithms,
170
,
254

indexitis,
95

induction,
110
,
111

base case,
77
,
111

general,
179

inductive case,
77
,
111

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

Int
,
2
,
30
,
49
,
155
,
254

Integer
,
2
,
49
,
155

integer literals,
50

Integral
,
51
,
155

interact
,
227

interaction,
221

interactive programs,
227

interpreters,
36

involutions,
see
laws

IO
,
33
,
239

isAlpha
,
42

isSpace
,
283

it
,
229

iterate
,
64
,
213
,
301

Ix
,
254
,
255

Jeuring, J.,
209

join
,
264

Other books

Token (Token Chronicles) by Ryan Gressett
Cherokee by Giles Tippette
A Rake's Midnight Kiss by Anna Campbell
Love comes softly by Janette Oke
The Best Man: Part Two by Lola Carson
True Colours by Fox, Vanessa