Этот код не typecheck:байтовой строки ожидает разные байтовой строки
import Network.HTTP.Conduit
import qualified Data.ByteString.Char8 as BS
main :: IO()
main = do
resp <- simpleHttp "http://www.google.com"
putStrLn $ BS.unpack resp
Выдает следующую ошибку:
Couldn't match expected type `BS.ByteString'
with actual type `Data.ByteString.Lazy.Internal.ByteString'
In the first argument of `BS.unpack', namely `resp'
In the second argument of `($)', namely `BS.unpack resp'
In a stmt of a 'do' block: putStrLn $ BS.unpack resp
Failed, modules loaded: none.
Как это исправить? Переход на другой вариант ByteString не работает.
Тип simpleHttp
Функция такова: simpleHttp :: Control.Monad.IO.Class.MonadIO m => String -> m Data.ByteString.Lazy.Internal.ByteString
. Поэтому я пытаюсь получить ByteString в монаде IO и попробую unpack
, но это приводит к ошибке.
Что такое 'импортный сертификат Data.ByteString.Lazy as BS'? – viorior
@viorior Он выдает ошибку другого типа. – Sibi