[英]Is it possibile to negate type parameter constraint in Haskell?
在 Haskell 中,可以向类型参数添加约束。
例如:
foo :: Functor f => f a
问题:是否可以否定约束?
我想说f
可以是除Functor
之外的任何东西。
升级版:
所以它来自如何将 map 底部嵌套的 Functor 的想法。 假设我有Functor a
其中a
可以是Functor b
也可以不是,并且相同的规则适用于b
。
这不可能的原因:(基本上都是相同的原因,只是它的不同方面)
现在,说了这么多,有一种方法可以伪造这个:使用重叠的实例。 不要这样做,这是一个坏主意,但是......这是你能得到的最接近的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.