एक तरह से यह मेरे पिछले प्रश्न से पीछे एक कदम है, लेकिन ... क्या कोई मुझे याद दिला सकता है कि यह काम क्यों नहीं करता है?कंटेनर तत्व प्रकार
class Container c e where empty :: c insert :: e -> c -> c instance Container [x] x where empty = [] insert = (:) instance Container ByteString Word8 where empty = BIN.empty insert = BIN.cons instance Ord x => Container (Set x) x where empty = SET.empty insert = SET.insert
स्पष्ट रूप से यदि यह इतना आसान था, तो कोई भी कार्यात्मक निर्भरताओं और न ही संबंधित प्रकारों का आविष्कार करने के लिए परेशान होता। तो उपरोक्त के साथ क्या समस्या है?
इसका उपयोग करने का प्रयास करें। आपको जल्द ही अस्पष्ट अधिभार के बारे में शिकायतें मिलेंगी। – augustss