On Wednesday 18 August 2010 16:00:41, Henk-Jan van Tuyl wrote: > L.S., > > I hope someone can help me with the following: > I am trying to check the SHA1 hash of a file, using the package > cryptohash [0]; the following error message is displayed when I try to > compile my program: > > SHA1check.lhs:35:32: > Couldn't match expected type `B.ByteString' > against inferred type `Data.ByteString.Internal.ByteString' > In the second argument of `(.)', namely `hashlazy' > In the second argument of `(.)', namely `B.unpack . hashlazy' > In the first argument of `(<$>)', namely > `show . B.unpack . hashlazy' > > The relevant lines of code are: > > import qualified Data.ByteString.Lazy as B > > import Data.CryptoHash.SHA1 ( hashlazy ) > > > > hash <- show . B.unpack . hashlazy <$> B.hGetContents h > > There is only one version of the bytestring package installed.
The result of hashlazy is a *strict* ByteString, so you'd need Data.ByteString.unpack instead of B.unpack. _______________________________________________ Haskell-Cafe mailing list [email protected] http://www.haskell.org/mailman/listinfo/haskell-cafe
