首页 > 解决方案 > Gen 是 Functor 的一个实例吗?

问题描述

我正在学习 Haskell 中的函子,我想知道 QuickCheck 是否GenFunctor? 任何见解都值得赞赏。

标签: haskellfunctional-programmingfunctor

解决方案


的。这在文档中进行Gen了描述:在实例部分下,它显示Functor Gen

它被实现为 [src]

instance Functor Gen where
  fmap f (MkGen h) =
    MkGen (\r n -> f (h r n))

MkGen是 的数据构造函数Gen。它包含一个类型的函数QCGen -> Int -> a。因此,我们基本上要做的是创建一个函数\r n -> f (h r n),从而“后处理” h r n.


推荐阅读