アカウント名:
パスワード:
treeSum(t : TreeLeaf) = 0treeSum(t : TreeNode) = do var accum := 0 do accum += treeSum(t.left) also do accum += treeSum(t.right) also do accum += t.datum end accumend
この(仕様書に書いてある)例、間違ってないか? += がatomic operationでないと正しく動かないのだけど、仕様書にはatomicであるとは書いておらず、かつsyntax sugarと書いてある。 for文と同様に、各スレッド
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
UNIXはただ死んだだけでなく、本当にひどい臭いを放ち始めている -- あるソフトウェアエンジニア
並列化まわりをざっと。 (スコア:2, 参考になる)
for i ← 1:10 do print(i) end
(factorial(100), factorial(500), factorial(1000))
ふむふむ。昨今支持の広がっている、配列を並列化単位にしようという流儀ですね。
atomic式
x=0; y=0
(atomic do x+=1; y+=1 end, z=x+y)
二行目はタプルなので並列化されるけれど、
zは第一項はatomicなので z=0 か z=2 であり z=1 になることはないと。
複数の do ブロックを also で並べると並列処理される
treeSum(t : TreeLeaf) = 0
treeSum(t : TreeNode) = do
Re:並列化まわりをざっと。 (スコア:0)
この(仕様書に書いてある)例、間違ってないか?
+= がatomic operationでないと正しく動かないのだけど、仕様書に
はatomicであるとは書いておらず、かつsyntax sugarと書いてある。
for文と同様に、各スレッド
Re:並列化まわりをざっと。 (スコア:0)
するという処理があればOKだけど
そういう処理のことを Reduction といいます。