Haskell RequestBody应用于太多类型参数
以下函数不进行类型检查的原因:Haskell RequestBody应用于太多类型参数,haskell,http-conduit,Haskell,Http Conduit,以下函数不进行类型检查的原因: import qualified Control.Exception as E import Data.Conduit (ResourceT) import Network.HTTP.Types (Method, Status(..)) import Network.HTTP.Conduit import qualified Data.ByteString.Lazy.Char8 as LBS doHttps :: Method -> String
import qualified Control.Exception as E
import Data.Conduit (ResourceT)
import Network.HTTP.Types (Method, Status(..))
import Network.HTTP.Conduit
import qualified Data.ByteString.Lazy.Char8 as LBS
doHttps :: Method -> String
-> Maybe (RequestBody (ResourceT IO))
-> IO (Either E.SomeException (Response LBS.ByteString))
doHttps reqMethod url body = undefined
它会产生以下错误:
RequestBody is applied to too many type arguments
In the type signature for `doHttps':
doHttps :: Method
-> String
-> Maybe (RequestBody (ResourceT IO))
-> IO (Either E.SomeException (Response LBS.ByteString))
Failed, modules loaded: none.
doHttps
函数是的简化版本。但是很明显,模块中的原始函数进行了类型检查,但是上面的代码片段不起作用。为什么会发生这种情况?http导管库的不同版本。在版本1.*中,RequestBody采用了一个类型参数:
但是,在版本2.*中,它不接受类型参数:
http导管库的不同版本。在版本1.*中,RequestBody采用了一个类型参数: 但是,在版本2.*中,它不接受类型参数: