从Raaz Crypto Library中键入randomByteString的转换

时间:2018-02-27 05:54:58

标签: haskell

我试图使用Raaz加密库中的randomByteString。面对本代码中的某些类型转换问题


str = randomByteString (42::ALIGN)

此处此代码返回str类型的RT mem ByteString,如何将其类型转换为ByteString

1 个答案:

答案 0 :(得分:2)

randomByteString函数需要一个长度参数,该参数是多态的,并产生一个必须使用securelyinsecurely运行的monadic结果。将这些放在一起并记住给出明确的类型,这样我们就不会产生含糊之处:

securely (randomByteString (10 :: BYTES Int) :: RandM ByteString)

在完整的程序中,您通常不需要这些额外的类型签名,因为它们自然会出现在函数签名中,可以推断,或者在程序中显示为类型字段。