QuickCheck 1を使用していますが、次のデータ型があります。
data A = ...
instance Arbitrary A where ...
data B = ...
instance Arbitrary B where ...
data C = C A B
Arbitraryここで、のインスタンスを定義して、およびの既存のジェネレーターを使用しCてC値が生成されるようにします。私はこれをすることになった:AB
instance Arbitrary C where
arbitrary = elements [(C a b) |
a <- generate 20 (System.Random.mkStdGen 0) arbitrary,
b <- generate 20 (System.Random.mkStdGen 0) arbitrary]
これは、固定数の値を明示的に生成するためAにB必要ですか、それとも既存のものArbitrariesを新しいものに結合するためのより良い方法がありますか?