2014-01-24 17 views
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原來的功能,但上面的代碼片段不起作用。爲什麼會發生?

回答