我想写一个使用 IO 的 SmallCheck 属性,但我不知道应该怎么做。具体来说,目标是编写一个属性,它是 的一个实例,Testable IO Bool以便我可以将它输入smallCheck(或testProperty输入test-framework)。不幸的是,我能想到的最好的方法如下:
smallCheck 5 (\(x :: Int) → return True :: IO Bool)
这不起作用,因为它是Testable IO (IO Bool)而不是的实例Testable IO Bool,但我不知道如何重写它以使其工作。
任何帮助,将不胜感激。