(,)类型的Foldable实例有何实用价值?
元组
(,)的Foldable实例实用价值探讨 我曾误将length函数应用于一个(pa,ir)类型值,却花了不少时间才发现问题——因为代码居然能正常编译!
于是我查询了:t length,得知它的参数只需满足Foldable类型约束。
由此我发现(,)存在Foldable实例:
instance Foldable ((,) a) where foldMap f (_, y) = f y foldr f z (_, y) = f y z length _ = 1 null _ = False
该实例还覆盖了length的自动推导定义。
那么(,)的Foldable实例有什么实用价值呢?尤其是考虑到它已经覆盖了最小定义派生的部分方法(如null和length)。
内容的提问来源于stack exchange,提问作者Enlico
相关产品推荐
相关产品推荐

