[英]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.