मैं उन्हें अधिक एक्स्टेंसिबल और जेनेरिक बनाने के लिए हास्केल में कई अंकगणितीय ऑपरेटरों को फिर से परिभाषित करना चाहता हूं।हास्केल - अंकगणित ऑपरेटरों को छिपाने (छिपाने)
उदा।
class Mul a b c | a b -> c where
(*) :: a -> b -> c
यह
import Prelude hiding ((*))
मानक *
ऑपरेटर छुपा के साथ संयोजन में काम करने के लिए लगता है। लेकिन निश्चित रूप से सभी सामान्य गुणा के साथ-साथ काम करना है, तो मैं
instance (Num t) => Mul t t t where
(*) = ??
मैं कैसे उपयोग कर सकते हैं मूल *
ऑपरेटर (Prelude.(*)
काम नहीं करता है) की तरह कुछ को परिभाषित करना होगा यहाँ और मैं कैसे करना है उदाहरण प्रकार को परिभाषित करें कि 1 * 1
मोनोमोर्पिज्म प्रतिबंध के साथ संघर्ष नहीं करता है?
संपादित -
import qualified
एक अच्छा टिप, धन्यवाद है।
लेकिन दुर्भाग्य से इसने मुझे सभी मानक तरीकों को स्पष्ट रूप से दायरे में लाने के लिए मजबूर किया। मैं सिर्फ कुछ अपरिवर्तित छोड़कर कुछ बाइंडिंग को फिर से परिभाषित करने की संभावना चाहता हूं।
तो क्या दोनों का संयोजन है? कुछ
import Prelude qualified ((*))
धन्यवाद - यही वह है जिसे मैं ढूंढ रहा था। – Dario
बढ़िया! आपका स्वागत है। –