所以我有下面的代码,我试图将其作为一个实例Arbitrary:
data MyData = I Int | B Bool\n\ninstance Arbitrary MyData where\n arbitrary = do {\n frequency [(1, return (I 1)),\n (1, return (choose((B True), (B False))))]\n }\nRun Code Online (Sandbox Code Playgroud)\n然而,我得到了(可以理解的)错误:
\nCouldn't match type \xe2\x80\x98Gen MyData\xe2\x80\x99 with \xe2\x80\x98MyData\xe2\x80\x99\n Expected type: Gen MyData\n Actual type: Gen (Gen MyData)\nRun Code Online (Sandbox Code Playgroud)\n我怎样才能实现这一目标?另外,I 1我想返回I一个随机的而不是 () Int。然而,使用该arbitrary函数而不是1会导致相同的错误。