In Control.Arrow.Constrained http://hackage.haskell.org/package/constrained-categories-0.2.0.0/docs/Control-Arrow-Constrained.html有一个班级WellPointed http://hackage.haskell.org/package/constrained-categories-0.2.0.0/docs/Control-Arrow-Constrained.html#t:WellPointed:
不同于与Morphism http://hackage.haskell.org/package/constrained-categories-0.2.0.0/docs/Control-Arrow-Constrained.html#t:Morphism and PreArrow http://hackage.haskell.org/package/constrained-categories-0.2.0.0/docs/Control-Arrow-Constrained.html#t:PreArrow,字面上的对偶WellPointed http://hackage.haskell.org/package/constrained-categories-0.2.0.0/docs/Control-Arrow-Constrained.html#t:WellPointed似乎没有用。
这是事实,因为以下方法的二元性似乎有点奇怪:
globalElement :: ObjectPoint a x => x -> a (UnitObject a) x
unit :: CatTagged a (UnitObject a)
const :: (Object a b, ObjectPoint a x) => x -> a b x
但为什么我们不喜欢(例如)const
对于“选择”箭头(比如有一些可以标记的恒定错误信息)?拥有unit
在这个层次结构中似乎也不奇怪,因为我们已经开始谈论单位CoCartesian http://hackage.haskell.org/package/constrained-categories-0.2.0.0/docs/Control-Category-Constrained.html#t:CoCartesian当使用 2 个总和类型时:Bool ≅ unit + unit
and Maybe a ≅ unit + a
.
那么,我们该如何处理这个问题呢?我们是否能以某种方式保证能够写下所有实例WellPointed http://hackage.haskell.org/package/constrained-categories-0.2.0.0/docs/Control-Arrow-Constrained.html#t:WellPointed超类(如果是这样,它与Arrow
being ArrowChoice
的超类)?另外,为什么我们在中定义这些方法PreArrow http://hackage.haskell.org/package/constrained-categories-0.2.0.0/docs/Control-Arrow-Constrained.html#t:PreArrow的子类?为什么我们不能移动它们"down"等级制度?
编辑:我发现这个帖子 https://stackoverflow.com/a/31120454/11143763 by 左转左转 https://stackoverflow.com/users/745903/leftaroundabout(作者是谁Control.Arrow.Constrained http://hackage.haskell.org/package/constrained-categories-0.2.0.0/docs/Control-Arrow-Constrained.html)他写的地方WellPointed http://hackage.haskell.org/package/constrained-categories-0.2.0.0/docs/Control-Arrow-Constrained.html#t:WellPointed向下作为直接Category
的子类。为什么事情要以另一种方式写下来Control.Arrow.Constrained http://hackage.haskell.org/package/constrained-categories-0.2.0.0/docs/Control-Arrow-Constrained.html?
None
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)