2
什麼不下列函數不進行類型檢查:RequestBody被應用到太多的類型參數
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
函數是一個簡化版本this function。但顯然,在模塊typechecks原來的功能,但上面的代碼片段不起作用。爲什麼會發生?