कई हास्केल ट्यूटोरियल मैंने प्रोग्राम को कैसे व्यवस्थित किया जाए, इस बारे में बहुत कम कवरेज के साथ लगभग पूरी तरह से वाक्यविन्यास पर ध्यान केंद्रित किया है।हास्केल प्रोग्राम का मूल संरचना
उदाहरण के लिए ...
यहाँ एक सी के एक नंगे हड्डियों रूपरेखा है ++ आवेदन:
#include <iostream>
using namespace std;
int addition (int a, int b)
{
int r;
r=a+b;
return (r);
}
int main()
{
int z;
z = addition (5,3);
cout << "The result is " << z;
return 0;
}
जब मैं पहली बार सी ++ सीखने शुरू कर दिया, इस तरह के उदाहरण मुझे बेहद कैसे अलग-अलग इकट्ठा करने के लिए सीखने में मदद की कामकाजी कार्यक्रमों में टुकड़े। हो सकता है कि मैं गलत जगहों पर देख रहा हूं, लेकिन मैं ऐसे किसी भी उदाहरण नहीं ढूंढ पा रहा हूं जो हास्केल के लिए सीधे और सरल हैं।
मुझे पहले से ही हास्केल वाक्यविन्यास का बहुत कुछ पता है। मैं पुनरावर्ती सूची समझ लिख सकता हूं, और तारों, पूर्णांक, और वज़ू को सूचियों में हेरफेर कर सकता हूं।
संक्षेप में: मैं सिर्फ यह जानना चाहता हूं कि हास्केल में दो सबराउटिन और वेरिएबल पास कैसा दिखता है। यदि मैं हास्केल प्रोग्राम को कैसे व्यवस्थित करना है, इस बारे में कुछ बुनियादी समझ प्राप्त कर सकता हूं, तो अंत में मैं कुछ सिंटैक्स डाल सकता हूं जिसे मैंने कुछ उपयोग के लिए सीखा है।
मैं http://www.haskell.org/haskellwiki/Haskell_in_5_steps जैसे स्थानों पर शुरू करूंगा, मैं क्लोजर सीख रहा हूं। हालांकि, मेरे पास O'Reilly Haskell पुस्तक है, और यह पुस्तक - http://www.nostarch.com/lyah.htm - बहुत अच्छी समीक्षा मिल रही है। – octopusgrabbus
हालांकि यह एक वैध सवाल है, मुझे यह सुझाव देने की अनुमति दें कि आप हास्केल से थोड़ा गलत हैं। हास्केल जितना संभव हो सके शुद्ध कार्यों पर जोर देता है, और अधिकांश हास्केल कार्यान्वयन एक आरईपीएल (रीड-इवल-प्रिंट लूप) प्रदान करते हैं जहां आप परिभाषित कार्यों के साथ खेल सकते हैं। मैं अत्यधिक अनुशंसा करता हूं कि छोटे कार्यक्रम बनाने के बजाय जो स्टडआउट पर प्रिंट करें, केवल कार्यों को लिखें और ghci में उनके साथ खेलें। मुझे लगता है कि आपको यह पता चल जाएगा कि यह हास्केल सीखने के लिए अधिक लचीला और मजेदार है। –
@ डैनबर्टन मैंने शायद पिछले महीने सिंटैक्स पर पढ़ा है, और ghci में कार्यों और सूची समझ के साथ खेल रहा है। मैं अब एक कार्यक्रम बनाने के लिए तैयार हूँ। (: डी आप सही हैं कि मैं हास्केल को गलत कर रहा हूं। मैं प्रक्रियात्मक प्रोग्रामिंग सिद्धांतों को एक कार्यात्मक प्रोग्रामिंग भाषा में लागू करने की कोशिश कर रहा हूं। मैं अभी भी अपने सिर को लपेटने की कोशिश कर रहा हूं कि कार्यों में एक गुच्छा कैसे करें जो एक बार दौड़ने से रोक सकता है और रोक सकता है। मैं पढ़ना जारी रखूंगा। –