Sum在基础4.7.0.2中定义的没有Functor实例.为什么?
例如,在定义的类型semigroups包有Functor,Applicative并Monad在例如Min,它们的行为likeIdentity` -对我来说很有意义.
我认为这些不是Functor实例的主要原因是您尚未提交代码审查以使其成为现实.您可以在Trac上提交票证,然后在Phabricator上提交代码审查.可在此处找到首选的Phabricator工作流程(使用Arcanist)以及其他详细信息.
当你这样做的时候,你也应该把它们作为实例Applicative,和Monad.您还应该分别在和中添加Foldable和Traversable实例.Data.FoldableData.Traversable
如果你想让我猜到为什么没有其他人这样做:
虽然Sum并且Product可以容纳任何类型的东西,但Monoid实例只对Num实例有意义.fmap因此,这种类型感觉有点奇怪.然而,这并不是一个不让它们成为Functor实例的好理由.
| 归档时间: |
|
| 查看次数: |
318 次 |
| 最近记录: |