Foldable
实例可能是某种容器,因此也可能是Functor
。的确,this说
那么,有没有一个Foldable
的示例,它自然不是Functor
或Traversable
? (也许Haskell Wiki页面错过了:-))
最佳答案
这是一个完整的参数示例:
data Weird a = Weird a (a -> a)
instance Foldable Weird where
foldMap f (Weird a b) = f $ b a
Weird
不是Functor
,因为a
出现在负位置。