Jak*_*old 10 theory haskell traversal
我一直在想为什么Traversable类型类需要a Functor和Foldable,而不仅仅是Foldable,因为它不使用任何部分Functor?
class (Functor t, Foldable t) => Traversable t where
traverse :: Applicative f => (a -> f b) -> t a -> f (t b)
sequenceA :: Applicative f => t (f a) -> f (t a)
Run Code Online (Sandbox Code Playgroud)
似乎Traversable的法则没有出现在基础4.6的文档中,这使我认为它们可以源于每个Traversable都是Functor的事实?
在迭代器模式论文的本质(第5.1节)中,它指出有一些自由定理traverse直接来自它的类型,但本文没有深入描述为什么会出现这种情况.
Traversable 基础4.7文档中描述的法律来自何处?