Purely Functional Lazy I/O についてまだ考えている

HaskellのI/O方式は以下のように変化している.

  1. Dialogue
  2. Handle-based Monadic I/O
  3. Iteratee-based (Monadic) I/O

1.から2.へはImperative functional Programming
2.から3.へはIncremental multi-level input processing and collection enumeration

読むといい.

2.から3.へのモチベーションの1つは,Handle-baseのI/OやLazy I/Oでは,resourceコントロールがまともにできないので安全ではないし,resource leakを起こしやすいので使いものにならん.というものである.さて,OIを使ったLazy I/Oがこの問題に応えられるんだろうか.