這個問題與我的other question有關smallCheck的Test.SmallCheck.Series類。當我嘗試在以下自然的方式(通過@tel上述問題的答案建議我)來定義類Serial的一個實例,我得到的編譯器錯誤: data Person = SnowWhite | Dwarf Int
instance Serial Person where ...
原來,Serial想有兩個
有了這個片段,並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)
產生一個明顯的無限名單。 一些