什么是用于与类似于快速检查的promote
功能,即,形式的功能的结构的函子的总称:QuickCheck的推广功能的一般情况是什么?
promote :: (a -> f b) -> f (a -> b)
(这是flip $ fmap (flip ($)) :: f (a -> b) -> (a -> f b)
倒数)。除了(->) r
和Id
以外,是否还有任何具有此类操作的仿函数? (我确定必须有)。谷歌搜索'快速检查推广'只是出现了QuickCheck文档,在任何更通用的语境AFAICS中都没有给出promote
;搜索“快速检查促进”没有结果。
Is ['sequenceA'](http://hackage.haskell.org/package/base-4.7.0.1/docs/Data-Traversable.html#v:sequenceA)是否相关? – 2014-10-08 21:36:15
让我看看。代入'sequenceA'的类型,我们可以得到't =( - >)a'和'f = f'。所以如果'( - >)a'有一个'Traversable'实例,这个函数对于所有'a'都是存在的。尽管如此,我认为'Traversable(( - >)a)'需要'(有界,一个枚举)'或等价物。 – 2014-10-08 22:11:39
值得一提的是,[universe](http://hackage.haskell.org/package/universe)包系列提供[必需的Traversable实例](http://hackage.haskell.org/package/universe -reverse-实例-1.0 /文档/ SRC /数据宇宙-实例-Traversable.html)。 – 2016-04-05 20:48:12