mkU*_*tra 1 polymorphism haskell types
在Haskell中,可以向类型参数添加约束。
例如:
foo :: Functor f => f a
Run Code Online (Sandbox Code Playgroud)
问题:可以否定约束吗?
我想说的f可以是任何东西Functor,例如。
UPD:
因此,它来自于如何映射底部嵌套的Functor的想法。假设我有一个可以存在或不存在的Functor a地方,并且相同的规则适用于。aFunctor bb
不可能这样做的原因:(基本上都是相同的原因,只是它的不同方面)
现在,所有的说,有是一种方法可以种假冒这样的:有重叠的情况。不要这样做,这是一个坏主意,但是...那是您可以获得的最接近的东西。