Evalモナド
参考
Evalモナドの基本操作について
methods
rpar :: a -> Eval a
引数を並列に評価する?
以下の様に書くとf xとf yを同時に計算し始める
code:hs
runEval $ do
a <- rpar $ f x
b <- rpar $ f y
return (a,b)
aとbの結果を待たずに、return (a,b)を返す
JSのPromise.allっぽいmrsekut.icon
rseq :: a -> Eval a
直列の評価を強制する
seqのdocsにも書いている通り順番を規定しないのなら、この定義はおかしくなるはず
seqの方の内部実装が途中で変わったのかな?
JSのawaitっぽいmrsekut.icon