高阶可穿越仿函数是否有相应的光学元件?

时间:2017-10-30 21:55:29

标签: haskell lens category-theory traversable haskell-hedgehog

Hedgehog<input type="checkbox" required="required" name="terms" id="termsAgree" auto-required="true"> <span class="icon"></span>类定义如下:

HTraversable

Var类型一起用于参数化类型,无论值是具体还是抽象。 -- | Higher-order traversable functors. -- class HTraversable t where htraverse :: Applicative f => (forall a. g a -> f (h a)) -> t g -> f (t h) t种,并且是一个更高级的函子,虽然它们实际上没有该类,(* -> *) -> *fg有类{{1} }}。我在一些不同的库中看到了相同的东西。

有没有办法让光学镜头出来?我承认我不知道甚至会做什么,而且我对镜片或常规h也不是很满意。

1 个答案:

答案 0 :(得分:1)

不确定

type HTraversal s t a b =
    forall f. Applicative f => (forall x. a x -> f (b x)) -> s -> f t

htraverse :: HTraversable t => HTraversal (t a) (t b) a b

请记住,lens Traversal来自于traverse类型并让t at b类型发生变化可遍历的不是多态容器,而是整体blob。

HTraversal是多么有用,我不知道。您无法使用(.)很好地撰写它们。