2012-09-27 14 views
5

हास्केल में सभी कार्यों को मूल रूप से घुमाया जाता है, है ना?हास्केल - करीबी के बारे में

तो, चलिए max फ़ंक्शन देखें, और मैं यह लिखूंगा कि यह कैसे काम करता है इसके बारे में मैं समझता हूं।

जब मैं कुछ इस तरह लिखना:

max 4 5 

क्या होता है कि एक नया funcion बनाई गई है आंतरिक रूप से, 4 के मान है, जो तब एक मूल्य प्राप्त करता है कि इसलिए इस समारोह 5 और एक सही करने के लिए लागू किया जाता है मूल्य वापस आ गया है?

क्या मैंने कुछ गलत कहा है या यह सही है?

+4

लोगों को याद रखें: टिप्पणियों में अपने डाउनवॉइंट को उचित ठहराना। –

+0

मुझे लगता है कि वे व्याकरण संबंधी त्रुटियों वाले प्रश्न के कारण हैं, जो डाउनवोट करने का एक अच्छा कारण नहीं है ... यदि प्रश्न समझना मुश्किल है, तो स्पष्टीकरण मांगें। –

+1

आप एक प्रश्नोत्तर साइट पर लापता ज्ञान के लिए डाउनवोट नहीं कर सकते हैं, लेकिन आप प्रयास की कमी के लिए कर सकते हैं, हालांकि मुझे लगता है कि प्रश्न अच्छी समझ दिखाता है, और इस मुद्दे को हल करने के लिए स्पष्ट (सफल) प्रयास करता है। मैंने कुछ व्याकरण को विषय-क्रिया-वस्तु में सही किया है, क्योंकि ऑब्जेक्ट-क्रिया-विषय कुछ हद तक अर्थ को अस्पष्ट कर रहा था। – AndrewC

उत्तर

9

यह सही है। आप याद कर सकते हैं क्या currying सब के बारे में अपनी सबसे महत्वपूर्ण पहचान के दो याद कर रहा है:

-- Function type right-associativity: 
a -> b -> c = a -> (b -> c) 

-- Function application left-associativity: 
f x y = (f x) y 

इन दोनों पहचानों एक साथ काम करते हैं और एक curried भाषा का उत्पादन।

+0

@ user428691 तो 'अधिकतम 4 5'' (अधिकतम 4) 5' और 'अधिकतम 4 :: इंटीजर -> इंटीजर 'के लिए छोटा है जिसका अर्थ है कि यह एक फ़ंक्शन है, जैसा आपने कहा था। – AndrewC

+0

बिल्कुल सही, धन्यवाद – elf

संबंधित मुद्दे