मैं पढ़ रहा हूँ असली दुनिया हास्केल पृष्ठ 151, और मैं एक घंटे से अधिक के लिए निम्नलिखित मार्ग देखें किया है:टाइप क्लास के उदाहरणों पर समानार्थी शब्द का प्रभाव क्या है? जीएचसी में TypeSynonymInstances Pragma क्या करता है?
याद रखें कि स्ट्रिंग के लिए [चार], जो बारी में है एक पर्याय है प्रकार [ए] जहां चार पैरामीटर ए के लिए चार को प्रतिस्थापित किया गया है। हास्केल 98 के नियमों के अनुसार, जब हम एक उदाहरण लिखते हैं तो हमें टाइप प्रकार पैरामीटर की जगह टाइप करने की अनुमति नहीं है। दूसरे शब्दों में, हमारे लिए उदाहरण [ए] के लिए लिखना कानूनी होगा, लेकिन [char] के लिए नहीं। 16 टिप्पणियां 5335
यह बस में डूब नहीं है। the (free not pirated) copy of RWH chapter 6 पर घूर रहा देखने के अन्य बहुत से लोगों को वास्तव में इस के साथ पीड़ित हैं। मैं अभी भी टिप्पणी से यह समझ में नहीं आता ...
सबसे पहले, इस बारे में सब कुछ मुझे confuses, इसलिए यदि आपको लगता है आप इस मार्ग के बारे में कुछ भी व्याख्या कर सकते हैं कृपया, या TypeSynonymInstances
कृपया।
यहाँ मेरी समस्या है:
Int
एक डेटा निर्माताString
एक डेटा निर्माता हैऔरप्रकार पर्याय
मैं नहीं कर सकता इन सवालों का जवाब दें:
- एक प्रकार का समानार्थी टाइप प्रकार के सदस्य को टाइप करने से रोकता है (मैं किसी कारण की तलाश कर रहा हूं जो शायद एक प्रकार के समानार्थी के संकलन या प्रत्यारोपण से संबंधित है)?
- भाषा के डिजाइनर क्यों नहीं, इस वाक्यविन्यास को नहीं चाहते (मैं व्यापक सिद्धांत या यूनिकोड गणित प्रतीकों का तर्क नहीं मांग रहा हूं)।
- मुझे यह लाइन "टाइप [ए] जहां टाइप पैरामीटर के लिए चार को प्रतिस्थापित किया गया है", और मैं जानना चाहता हूं कि मैं इसे "के लिए क्यों प्रतिस्थापित नहीं कर सकता हूं, जिस प्रकार int को प्रतिस्थापित किया गया है प्रकार पैरामीटर एक "।
धन्यवाद!
अपने स्वयं के कोड में, मैंने पाया है कि समानार्थी उदाहरणों का उपयोग करने का अर्थ है कि मैं वास्तव में 'टाइप' के बजाय 'न्यूटाइप' (और शायद सामान्यीकृत न्यूटाइप व्युत्पन्न) का उपयोग करना चाहता हूं। यदि आप 'टाइप' और' न्यूटाइप 'के बीच के अंतर से परिचित नहीं हैं, तो यह आपका पहला कदम होना चाहिए। – jrockway