我的目標是使用generateKeyPairfrom生成一個密鑰對Codec.Crypto.RSA。
這個函式需要一個型別為 的生成器RandomGen。我試圖用 來制作這個生成器newGenIO,但我很難指定它的型別。
import qualified Codec.Crypto.RSA as Crypto
import Crypto.Random
someFunc = do
let g = newGenIO :: CryptoRandomGen (IO SystemRandom)
let keyPair = Crypto.generateKeyPair g 10
當CryptoRandomGen SystemRandom我沒有在newGenIO.
這是嘗試運行代碼時出現的錯誤訊息。
? Expected a type, but
‘CryptoRandomGen (IO SystemRandom)’ has kind
‘Constraint’
有誰知道我用什么型別來讓它作業?
uj5u.com熱心網友回復:
嘗試用這一行替換該行:
g <- newGenIO :: IO SystemRandom
當您想要一個類的特定實體時,您只需使用該型別,而不是再次指定該類。并且要從 IO 中獲得一些東西,您需要系結到它,而不僅僅是使用=.
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/427251.html
上一篇:Haskell內部的IO術語
下一篇:為什么連懶人的褶皺都如此渴望?
