前段时间在读《魔力Haskell》,已经读到 220 页,读完前 21 章。期间提交了不少勘误,同时还手工编写了一个索引。近期都没空继续读这本书。所以先将我整理的索引公布如下,仅供参考。

Update 2017-01-09: 已经完成索引。

! 212-214,238
!! 10,26-27,234
#. 224,231
$ 43-44
$! 90-92
$!! 92,202
$> 136
%~ 127-128
& 44,128
&& 10,138
' 297
'' 297
() 34-35,166
*> 136,164
++ 6,10,234
- 7
-- 3
-> 38-39,135,179
-} 3
. 45-46
.. 24
.~ 127-128
/ 77
// 239
/= 11
: 23-24,170,233
:: 4,7
:{ 168
:} 169
< 12
<$ 136
<$> 135-136,227,343
<* 136,164
<*> 132-136,160,162,179,227,343
<- 117,163,203
<= 12
<> 140,332
<|> 147,153-154
== 11
> 12
>= 12
>> 164
>>= 159,162
_ 20-21,164
_|_ 82-83,350
@ 16
[] 23-24
[| 300
^. 127-128
` 6
{- 3
| 168-169
|| 10
~: 214-215,262,323

accum: 239
accumArray: 238
All: 141
Alternative: 147
amap: 239
and: 11
Any: 141
appendFile: 201
Applicative: 133,162,228-229
Array: 236-238
array: 236-237
assocs: 239
atomically: 314-315
aysnc: 316
按需传递(call-by-need): 85
按值传递(call-by-value): 85

Bool: 18
Bounded: 75-76
break: 235
ByteString: 266-267
八皇后问题: 169-171
绑定(binding): 4
饱和(saturated): 51
标记语义(denotational semantics): 87
闭包(closure): 51-52,171
部分函数(partial function): 27
部分应用(partial apply): 41-42,51
不确定性计算(non-deterministic compute): 161
不阻塞(non-blocking): 201

cabal: 1,96
case: 4,14-15
Chan: 313
Char: 272
class: 65-66
coerce: 231-232
Coercible: 231-232
concat: 132,159,161
concatMap: 234
const: 10
Const: 115-116,133,145-146
curry: 41-42
cycle: 235
参数解析: 137
常态: 89
程序标注(pragma): 215
词法作用域(lexical scope): 5
抽象语法树(AST): 296-297
纯函数(pure function): 199
存在类型(existential type): 320-321,344

data: 13
deepseq: 92,202
deriving: 69
div: 76-78
divMod: 77-78
do: 117,163
drop: 11,28,233
dropWhile: 235
dropWhileEnd: 235
DSL: 209-210
Dual: 144-145,226
Dynamic: 318-319
代数类型: 337
单位半群: 139,263
单位律(identity): 111,133
单位元: 139,171
单子(monad): 105,158-159
单子变换: 245,251
单子栈(monad stack): 257-258
底(bottom): 82
递归: 26,27
动态规划: 170-171
惰性模式(lazy pattern): 214-215
惰性求值(lazy evaluation): 30,57,84-85,216
短路原理: 85
读取函子(reader functor): 135

Either: 149-150,342-343
elem: 11,67
elems: 239
Endo: 141-142,225-226
Enum: 73-74
Eval: 309
Exception: 343-344

filter: 54
filterM: 176
flip: 128
fmap: 108,227-230
Foldable: 177,221
foldl: 55,60,132,226
foldl1: 57
foldM: 177
foldMap: 221,224-226
foldM_: 177
foldr: 55,60,221-225
foldr1: 57
force: 92
forever: 176,203
forkIO: 203,310
forM: 174,229
forM_: 174,229
freeze: 241
fromEnum: 45-46,74
fst: 10,34
Functor: 108-109,133,228-229
范畴(category): 110,112
返回函数: 161

Generic: 338
getAssocs: 240
getBounds: 239
getChar: 200
getConst: 115
getContents: 200
getElems: 240
getLine: 117,165,200
getter: 118-119
GHC: 1,211
GHCi: 1
group: 235
guard: 47-48,172
高阶函数: 39
构造函数: 13-14,18

Hackage: 5,96
Haddock: 101-103
Hashable: 243
HashMap: 242-243
HashTable: 244
head: 10-11,25
函数(function): 6
函数内联: 216
函子(functor): 107-109, 133
和类型(sum type): 336-337
盒子: 30-32
幻影类型(phantom type): 115-116,318
后门函数: 206-207
互换律(interchange): 134

IArray: 238
id: 10,60,162,229
Identity: 115,177,228-229,248
IdentityT: 249-250,261
indices: 238
infix: 6-7
infixl: 6-7
infixr: 6-7
init: 11,27-28
inits: 235
interact: 200
intercalate: 234
intersperse: 234
IO: 5,117,138,165,197-203
IOArray: 239
IORef: 202,204,312
IOUArray: 239
iterate: 235
Ix: 236-237
ixmap: 239

join: 159-161
Just: 19-20,107
结构控制函数: 173
结合律(associativity): 111,139,171
解析器(parser): 149
集合(set): 110
积类型(product type): 336-337
记录语法: 20,22
竞争条件(race condition): 204

killThread: 311
柯里化: 41

last: 11,28
length: 11,27,117,233-234
let: 4,8,16,49
lift: 251,256-257
liftA2: 137-138,153,158
liftIO: 258
listArray: 238
lookup: 235
拉链: 39-40
拉链应用函子: 147-148
懒IO(lazy IO): 201-202
类声明: 65-66
类型家族(type family): 260-261
类型类(typeclass): 62
类型推断(type inference): 35-36
类型依赖: 259
列表(list): 23-24,233-236
列表单子: 161,168
列表归纳(list comprehension): 168

main: 5,199
map: 53-54
mapAccumL: 235
mapAccumR: 235
mapArray: 239
mapIndices: 240
mapM: 174,227
mapM_: 174,229-230
mappend: 139-140
MArray: 239
max: 12
maximum: 12,71
Maybe: 19-20,107,342-343
mconcat: 139-140
mempty: 139-140
min: 12
minimum: 12
mod: 76-78
modifyIORef: 202
modifySTRef: 204
monad: see 单子
MonadIO: 258
MonadPlus: 171
MonadRandom: 193-194
MonadReader: 258-259,261
MonadState: 258-259
MonadTrans: 251
Monoid: 139-140,147
mplus: 171
MultiWayIf: 49,212
MVar: 312-313
mzero: 171-172
模式匹配: 14-16

newArray: 239
newArray_: 239
newIORef: 202-203
newListArray: 239
newSTRef: 204
newtype: 80-81
not: 10,35
notElem: 11
Nothing: 19-20,107,343
nub: 67
null: 11
Num: 76-79
粘合函数(bind function): 161
匿名函数: 44-45
逆(dual): 144-145

optparse-applicative: 151
or: 11
Ord: 71
otherwise: 10,47
over: 122-123

partition: 235
permutations: 234
point-free: 50
point-full: 50
pprint: 299
pred: 74
Prelude: 5
print: 5,199-200
Product: 141
Proxy: 318
pure: 133,161-162,228
putChar: 199
putStr: 199
putStrLn: 165,199
迫切求值(eager evaluation): 85

quot: 76-78
quotRem: 77-78
强制匹配模式(irrefutable pattern): see 惰性模式
启发函数(heuristic function): 171
全函数(total function): 27

RandT: 253
Read: 69-70
readArray: 239
Reader: 134,179,246-248
readerT: 246-248,261
readFile: 201,269
readIO: 201
readIORef: 202-203,312
readLn: 138,166,201
readMaybe: 160,201
readSTRef: 204
RealWorld: 198-199,202-203,206,239
recip: 77
rem: 76-78
repa: 242
repeat: 29
replicate: 28-29,37-38
replicateM: 175
replicateM_: 175
retry: 315
return: 159,161-162,166,246
reverse: 11
rpar: 309
rseq: 309
runEval: 309
runhaskell: 1
runIdentity: 115,177,229
runST: 204
runSTUArray: 241
弱常态: 89-90

scanl: 57
scanl1: 58
scanr: 58
scanr1: 58
section: 41
seq: 90
sequence: 173-174,227
sequenecA: 227,229
sequence_: 174
set: 122-125
setter: 118-119
Show: 69-70
snd: 10,54
SomeException: 344-345
span: 235
splitAt: 59,233
splitOn: 235
splitOneOf: 236
splitWhen: 236
ST: 204
STArray: 239
State: 189-191,250
StateT: 250-252,259,261
STM: 314
Strategy: 309
STRef: 204-205
stripPrefix: 235
stToIO: 206
STUArray: 239-240
subsequences: 234
succ: 74-75
Sum: 141,224-225
sum: 164,224
散列表: 242-244
实例(instance): 63
实例声明(instance declaration): 63
数组: 236-242
随机数: 192-195
锁(lock): 204

tail: 10-11,25,233
tails: 235
take: 11,28
takeWhile: 235
Text: 272
thaw: 241
ThreadId: 203,310,346
throwTo: 311,346
TMVar: 315
toEnum: 45-46,74
transpose: 234
Traversable: 173,221,226-229
traverse: 226-229
type: 80-81
Typeable: 317
typeOf: 317
TypeRep: 317
态射: 110-111
同态律(homomorphism): 134
透镜组: 120-121
推导(derive): 68

UArray: 238,241
uncurry: 41-42
unless: 166-167
unsafeFreeze: 241
unsafePerformIO: 206
unsafeThaw: 241

vector: 242
view: 122,125-127
void: 167

when: 166-167
where: 46-47,49
writeArray: 239
writeFile: 201
writeIORef: 202-203,312
Writer: 263
WriterT: 264-265
writeSTRef: 204
完全应用(fully applied): 51
物体(object): 110-111

线程单子: 204
线程状态对象(TSO): 311
显式升格: 137
选择单子: 171
选择解析: 153
选择应用函子: 146-147,153

严格求值: 214,216
幺半群: see 单位半群
应用函子(applicative functor): 133
引用透明(referential transparency): 87,202
依她转换(η-conversion): 49
元组: 34
语言扩展(language extension): 211

zip: 39-40
ZipList: 148,228-230
zipWith: 39-41
自然升格: 135-137,152
自态射(endomorphism): 143
自由单位半群: 142-144
自由函数(combinator): 52
组合函数(compose function): 45-46
组合律(composition): 133
作用域(scope): 5