Tour of Go in Haskell§ Go のチュートリアル “A Tour of Go” の並行性の章を Haskell で書いた 並行構文の軽さは Go と Haskell で同じくらい STM があるぶん Haskell の方がうまく書ける例も §https://a-tour-of-go-in-haskell.syocy.net/ja_JP/index.html 19 / 31
par 関数は第一引数の評価を並列化する pseq 関数は直列化を指示する 1 -- >>> mutualPowPar 5 2 2 -- (25,32) 3 mutualPowPar :: Int -> Int -> (Int, Int) 4 mutualPowPar x y = let z1 = x ^ y in 5 let z2 = y ^ x in 6 z1 `par` z2 `pseq` (z1, z2) 21 / 31