有了这个片段,还有 smallcheck-1.0.1
data Foo = A | B | Pair Foo Foo deriving Show
deriving instance Generic Foo
instance (Monad m) => Serial m Foo
那么这个
list 1 (series :: Series Identity Foo)
生成一个明显无限的列表。
在 smallcheck-0.6.1 只生成 [A,B] 之前我认为是等价的,这正是我所期望的。
这是对 smallcheck 系列的有意更改吗?如果是,是否有一种简单的方法可以恢复 0.6.1 的行为。
这里有可编译的程序来演示这一点:http: //hpaste.org/83927