大久保弘崇
Errata-6
最終更新:
hirotakaohkubo
-
view
Chapter 12
p.80 l.-2
Wrong:
Correct:
p.80 l.-1
Wrong: The operation << is
Correct: The operator << is
Correct: The operator << is
p.84 l.5 and l.6
Wrong: subseq
Correct: select
Correct: select
p.85 Fig12.1
Wrong:
pass (e@(x,y):xys) xss = step xys [] [x] [] xss
where
step [] as bs cs xss = pass as (bs:pass cs xss)
step (e@(x,y'):xys) as bs cs xss | y' < y = step xs (e:as) bs cs xss
| y' = y = step xs as (x:bs) cs xss
| y' > y = step xs as bs (e:cs) xss
Correct:
pass ((x,y):xys) xss = step xys [] [x] [] xss
where
step [] as bs cs xss = pass as (bs:pass cs xss)
step (e@(x,y'):xys) as bs cs xss | y' < y = step xys (e:as) bs cs xss
| y' ==y= step xys as (x:bs) cs xss
| y' > y = step xys as bs (e:cs) xss
My proposal:
pass ((x0,y0):xys) xss = pass lows (equals : pass highs xss) where
(lows, equals, highs) = step xys ([],[x0],[])
step (e@(x,y):xys) (ls,eqs,hs) | y < y0 = step xys (e:ls, eqs, hs)
| y ==y0 = step xys (ls, x:eqs, hs)
| y > y0 = step xys (ls, eqs, e:hs)
step [] triple = triple
pass (e@(x,y):xys) xss = step xys [] [x] [] xss
where
step [] as bs cs xss = pass as (bs:pass cs xss)
step (e@(x,y'):xys) as bs cs xss | y' < y = step xs (e:as) bs cs xss
| y' = y = step xs as (x:bs) cs xss
| y' > y = step xs as bs (e:cs) xss
Correct:
pass ((x,y):xys) xss = step xys [] [x] [] xss
where
step [] as bs cs xss = pass as (bs:pass cs xss)
step (e@(x,y'):xys) as bs cs xss | y' < y = step xys (e:as) bs cs xss
| y' ==y= step xys as (x:bs) cs xss
| y' > y = step xys as bs (e:cs) xss
My proposal:
pass ((x0,y0):xys) xss = pass lows (equals : pass highs xss) where
(lows, equals, highs) = step xys ([],[x0],[])
step (e@(x,y):xys) (ls,eqs,hs) | y < y0 = step xys (e:ls, eqs, hs)
| y ==y0 = step xys (ls, x:eqs, hs)
| y > y0 = step xys (ls, eqs, e:hs)
step [] triple = triple
p.88 Fig12.2
Wrong: install i = (i, ...
Correct: install i = let j=i+k in(i, ...
Correct: install i = let j=i+k in(i, ...
p.88 l.5
Wrong: whose second components
Correct: whose first components
Correct: whose first components
p.88 T(n,k)
In mathematical notation, it should be