【发布时间】:2017-12-04 08:49:14
【问题描述】:
在 Haskell 中,Foldable 类是独立的,即
class Foldable t where ...
但是,在弗雷格:
class Functor t => Foldable t where ...
为什么要引入这个约束?它可以排除哪些格式不正确的程序/想法?
它阻止了我定义instance Foldable HashSet,其中HashSet 是一种自定义数据类型,它包装Data.HashMap 以提供基于集合的接口。 (可以通过先申请toList来解决,所以这不是一个严重的问题。)
【问题讨论】: