मैं हास्केल के बारे में पढ़ रहा हूं और मुझे यह समझने में कठिनाई हो रही है कि इस भाषा में फ़ंक्शन परिभाषाओं को कैसे प्रबंधित किया जाता है।क्यों x x प्रकार का प्रकार है (संख्या ए) => ए -> ए -> हास्केल में?
चलो कहते हैं कि मैं एक sum
समारोह को परिभाषित कर रहा हूँ करते हैं:
let sum x y = x + y
अगर मैं अपने प्रकार के लिए हास्केल क्वेरी
:t sum
मैं
sum :: (Num a) => a -> a -> a
- इसका क्या मतलब है
=>
ऑपरेटर? क्या लैम्ब्डा अभिव्यक्तियों के साथ इसका कोई संबंध नहीं है? इस प्रकार एक संकेत है कि=>
ऑपरेटर का पालन करने वाला क्या है, सी # में। a -> a -> a
का अर्थ क्या है? कई अलग-अलग कार्यों पर आंखों के निरीक्षण से मैं कोशिश कर रहा हूं, ऐसा लगता है कि प्रारंभिकa -> a
तर्क हैं और अंतिम-> a
योग फ़ंक्शन का परिणाम है। यदि यह सही है, तो(a, a) -> a
के रूप में कुछ क्यों नहीं, जो कि अधिक सहज ज्ञान युक्त लगता है?
यदि आप चाहते हैं करने के लिए: एक फंक्शन फॉर्म
(a,b,c,...)->z
डिफ़ॉल्ट रूप से में लिखा है, तो हम lambdas का एक बहुत लागू करने के लिए होता है हास्केल को समझें, आपको भाषा के हर हिस्से के बारे में SO पूछने के बजाय बेहतर (अच्छा) परिचय मिलता है। http://stackoverflow.com/questions/1012573/how-to-learn-haskell/1016986#1016986 कुछ अच्छे संसाधनों के लिंक और आगे की सलाह है। – delnan