<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);" class="elementToProof">
Hello--</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);" class="elementToProof">
<br>
</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);" class="elementToProof">
I am going to use the function 'hashPassword' in [1] and I am not able to understand why the result is
<span style="font-family: Consolas, Courier, monospace;">MonadRandom ByteArray</span> instead of simply being a
<span style="font-family: Consolas, Courier, monospace;">ByteString </span>(or, ByteArray, or similar). Looking at [2], the only useful thing I can do with a
<span style="font-family: Consolas, Courier, monospace;">MonadRandom a</span> is to convert it to
<span style="font-family: Consolas, Courier, monospace;">IO a</span>. Why would a result of this determistic computation be a
<span style="font-family: Consolas, Courier, monospace;">IO</span>?<br>
</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);" class="elementToProof">
<br>
</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);" class="elementToProof ContentPasted1">
[1] - <a href="https://hackage.haskell.org/package/cryptonite-0.30/docs/Crypto-KDF-BCrypt.html" id="LPlnk434553">
https://hackage.haskell.org/package/cryptonite-0.30/docs/Crypto-KDF-BCrypt.html</a><br>
</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);" class="elementToProof ContentPasted0">
[2] - <a href="https://hackage.haskell.org/package/cryptonite-0.30/docs/Crypto-Random-Types.html#t:MonadRandom" id="LPlnk745272">
https://hackage.haskell.org/package/cryptonite-0.30/docs/Crypto-Random-Types.html#t:MonadRandom</a><br>
</div>
</body>
</html>