Gen是Functor的实例吗?

cen*_*980 0 haskell functional-programming functor

我正在了解Haskell中的函子,我想知道QuickCheck是否Gen是的实例Functor?任何见解都表示赞赏。

Wil*_*sem 10

是的。这在文档Gen的“ 实例”部分下进行了描述,显示为Functor Gen

实现为[src]

instance Functor Gen where
  fmap f (MkGen h) =
    MkGen (\r n -> f (h r n))
Run Code Online (Sandbox Code Playgroud)

MkGen是的数据构造函数Gen。它包含type函数QCGen -> Int -> a。因此,我们基本上要做的是创建一个函数\r n -> f (h r n),该函数将对结果进行“后处理” h r n