haskell-ja > Archives > 2015/05/09

2015/05/09 14:34:43 UTCsakai
#
Haskellでモナディックに解を列挙するような場合ってどういうインターフェースにするのが一番良いでしょうか。 ピュアなコードであれば遅延リストを生成するのが普通だと思うけれど、モナディックなコードの場合はストリーミング系のライブラリを何か使うのが良い? ただ、オーバーキルのような気がするのと、conduit, pipes, io-streams, machines と色々あって、どれかにコミットするのも躊躇われる気もして。
2015/05/09 15:02:19 UTCmaoe
#
ストリーミングライブラリのスタンダードがないの悲しいですね。シンプルな列挙なら http://www.haskellforall.com/2014/11/how-to-build-library-agnostic-streaming.html が使えるかもしれません。zlibパッケージなんかは独自の型を定義してます。 https://hackage.haskell.org/package/zlib-0.6.1.0/docs/Codec-Compression-Zlib-Internal.html#t:DecompressStream 依存パッケージが増えるのを嫌うのと、シンプルな列挙だけでなくて双方向のストリーミングなのでそうしているんだと思います。