正在解压缩ghci中的IO字节串



我正试图用一个图像库在Haskell中进行一些图像操作。使用库打开图像需要ByteString类型。我想在ghci中测试库,但当我加载文件时,它的类型为IO ByteString,无法使用。

如何从ghci中的IO ByteString类型解包ByteString数据?

fmap教纯函数如何处理不纯净的输入:

fmap :: (a -> b) -> IO a -> IO b

(=<<)教授不纯函数如何使用不纯输入:

(=<<) :: (a -> IO b) -> IO a -> IO b

当然,在ghci中,有一种方便的do表示法可以作为(=<<)使用的简写,因此如果您编写

> x <- Data.ByteString.readFile "/path/to/image.jpg"

那么您将在会话的剩余时间中绑定x :: ByteString,即使是Data.ByteString.readFile "/path/to/image.jpg" :: IO ByteString

相关内容

最新更新