《魔力Haskell》索引

黃志斌發表於2016-11-25

前段時間在讀《魔力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

相關文章