मात्रात्मक बाधाओं के साथ मैं Eq (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)'
पुनश्च। मैंने भी ghc के प्रस्तावों की जाँच की है ० ९ २-२-मात्रा-अड़चन । Ghc का उपयोग 8.6.5
deriving instance (forall a. (Eq a, Ord a) => (Eq (f a), Ord (f a))) => Ord (A f)
। क्या आप जानते हैं कि अंतर क्यों है?