5/6の日記

Haskellあれこれ

pipe-safereadFile のサンプルで、bracket がなぜ P.fromHandle の完了後すぐに閉じないか疑問になったので調べた。結論を言うと「完了後すぐに閉じない」が誤りで、 P.fromHandle が終了しない、が正解。サンプルコードの場合、 P.fromHandle h >> undefined としても undefined が評価されることはない。yieldawaitでほかのPipeに処理が移るので、別のPipeで処理が完了した場合は P.fromHandle の残っている処理は実行されないっていう話。

ekemettさん

ekemettさん日本語を使えたことに衝撃。しかも流暢。