ด้วยข้อ จำกัด เชิงปริมาณฉันสามารถหามาใช้ได้Eq (A f)
หรือไม่ อย่างไรก็ตามเมื่อฉันพยายามหา Ord (A f) มันล้มเหลว ฉันไม่เข้าใจวิธีใช้ข้อ จำกัด เชิงปริมาณเมื่อคลาสข้อ จำกัด มีซูเปอร์คลาส ฉันจะดูOrd (A f)
คลาสอื่นที่มีซูเปอร์คลาสได้อย่างไร
> newtype A f = A (f Int)
> deriving instance (forall a. Eq a => Eq (f a)) => Eq (A f)
> deriving instance (forall a. Ord a => Ord (f a)) => Ord (A f)
<interactive>:3:1: error:
• Could not deduce (Ord a)
arising from the superclasses of an instance declaration
from the context: forall a. Ord a => Ord (f a)
bound by the instance declaration at <interactive>:3:1-61
or from: Eq a bound by a quantified context at <interactive>:1:1
Possible fix: add (Ord a) to the context of a quantified context
• In the instance declaration for 'Ord (A f)'
PS ฉันยังมีการตรวจสอบข้อเสนอ GHC 0109-ปริมาณ- ใช้ ghc 8.6.5
deriving instance (forall a. (Eq a, Ord a) => (Eq (f a), Ord (f a))) => Ord (A f)
กันมาก คุณรู้ไหมว่าทำไมมีความแตกต่าง?