io-streamでストリームを変更する
Generator
を作る必要があります。
以下のようにしてしまうと、固定値を永遠に流すストリームになってしまいます。
badFunc :: InputStream Int -> IO (InputStream Int) badFunc s = do v <- S.read s case v of Just x -> makeInputStream $ return $ Just x Nothing -> makeInputStream $ return Nothin