haskell bytestring

haskell - No se pudo hacer coincidir el tipo esperado `Data.ByteString.Internal.ByteString ''con el tipo real` ByteString''



(1)

Ejecutando el siguiente código:

import Crypto.BCrypt import Data.ByteString.Lazy.Char8 main = do maybe_pwhash <- hashPasswordUsingPolicy slowerBcryptHashingPolicy (pack "hunter2") print $ maybe_pwhash

Me sale el siguiente error de compilación:

test.hs:5:70: Couldn''t match expected type `Data.ByteString.Internal.ByteString'' with actual type `ByteString'' In the return type of a call of `pack'' In the second argument of `hashPasswordUsingPolicy'', namely `(C.pack "hunter2")'' In a stmt of a ''do'' block: maybe_pwhash <- hashPasswordUsingPolicy slowerBcryptHashingPolicy (pack "hunter2")

Estoy confundido porque no veo por qué hay una diferencia entre un Data.ByteString.Internal.ByteString y un ByteString .


De acuerdo con los documentos de bcrypt , debe usar reglas estrictas

import Data.ByteString.Char8

En lugar de los perezosos:

import Data.ByteString.Lazy.Char8