2017-02-09 bouzuya/purescript-examples の stdin を直した
今日も早起き。だけど、朝にシャワーを浴びようとしたら水しか出ない。誰かが家の外にあるガスの元栓を閉めたようだ。いたずらだろうか。早く起きた分がすっかりむだになってしまった。許せない。
bouzuya/purescript-examples の stdin を直した。
stdin は purescript-node-streams
パッケージの Node.Stream
モジュールを使っている。
以前は readString
を使っていたのだけど、Readable w ("err" :: EXCEPTION | eff)
の err
を除去するハンドラーが提供されていないので、使うのをやめた。代わりに readEither
を使っている。
あと onReadable
が何度も発生しているので、 onClose
まで待つようにした。 2017-02-04 でも書いた Control.Monad.ST
を使って onReadable
の結果をつめて onClose
でそれらをまとめて返すようにした。良さそう。