作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在试验管道包。还找到了 network-conduit 包,我尝试制作一个简单的 TCP 客户端,它将文件的内容发送到套接字:
import Data.Conduit
import Data.Conduit.Binary
import Data.Conduit.Network
import Data.ByteString.Char8 (pack)
sendFile fileName appData = runResourceT $
sourceFile fileName $$ appSink appData
main = runTCPClient (clientSettings 8000 (pack "localhost")) (sendFile "book.tex")
[1 of 1] Compiling Main ( Conduit2.hs, interpreted )
Conduit2.hs:9:63:
Occurs check: cannot construct the infinite type: m0 = ResourceT m0
Expected type: Application (ResourceT m0)
Actual type: AppData (ResourceT m0) -> m0 ()
In the return type of a call of `sendFile'
In the second argument of `runTCPClient', namely
`(sendFile "book.tex")'
Failed, modules loaded: none.
[1 of 1] Compiling Main ( Conduit2.hs, interpreted )
Conduit2.hs:9:63:
No instance for (MonadResource IO)
arising from a use of `sendFile'
...etc...
最佳答案
我自己想出来了……只需要将整个 runTCPClient 包装到 runResourceT 中。
关于haskell - 导管和网络导管 : Combine MonadResource and IO,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14292748/
MonadResource 能够跟踪多个资源。有时这些资源的释放顺序很重要。考虑以下代码: allocator1 = putStrLn "allocator1" deallocator1 = putS
我正在试验管道包。还找到了 network-conduit 包,我尝试制作一个简单的 TCP 客户端,它将文件的内容发送到套接字: import Data.Conduit import Data.Co
精简版 与 here 中的问题相同,但在通用 MonadResource 实例中,而不是在显式 ResourceT m 中。 长版 您将如何定义一个 catch 函数: import Control.
我一直在努力想出一种简单直观的方法来使用 Haskell 数据库。我从 Yesod book 中获取了这段代码并尝试对其进行清理,使其更易于理解和使用。 {-# LANGUAGE QuasiQuote
我是一名优秀的程序员,十分优秀!