পরিমাণযুক্ত বাধা দিয়ে আমি কি 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)'
পুনশ্চ. আমি 0109-পরিমাণযুক্ত-সীমাবদ্ধতার সাথে জিওসি প্রস্তাবগুলিও পরীক্ষা করে দেখেছি । Ghc 8.6.5 ব্যবহার করা হচ্ছে
deriving instance (forall a. (Eq a, Ord a) => (Eq (f a), Ord (f a))) => Ord (A f)
। তুমি জানো কেন পার্থক্য আছে?