Purely Functional Lazy I/O についてまだ考えている
HaskellのI/O方式は以下のように変化している.
- Dialogue
- Handle-based Monadic I/O
- 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がこの問題に応えられるんだろうか.