大久保弘崇
ex8.2
最終更新:
hirotakaohkubo
-
view
ex8.5
adder :: (Bit, ([Bit], [Bit])) -> ([Bit], Bit) adder' :: (Bit, [(Bit, Bit)]) -> ([Bit], Bit)
adderは任意の長さのビット列2つ組をとるが、
adder'はビットの2つ組の列をとるので、両辺のビット長が等しい。
adder'はビットの2つ組の列をとるので、両辺のビット長が等しい。
ex8.6
col :: ((a,c)->(c,b))->([a],c)->(c,[b])
col f ([],cin) = (cin, [])
col f (a:as, cin) = (cout, b:bs) where
(car, b) = f (a, cin)
(cout, bs) = col f (as, car)
ex8.7
grid :: ((a,b)->(b,a))->([a],[b])->([b],[a])
grid f = col (row f)