हास्केल सबसे अधिक भाषाओं के एमएल परिवार से संबंधित है। इसमें OCaml जैसी चीजें शामिल हैं , बेशक, लेकिन .NET प्लेटफॉर्म पर भी F # । ये भाषाएं हस्केल के साथ टाइप सिस्टम की नींव रखती हैं और डेटा का उपयोग कैसे किया जाता है - बीजीय डेटा प्रकार, पैटर्न मिलान, प्रकार का निष्कर्ष, आदि। वे अन्य बिंदुओं पर हास्केल से काफी भिन्न हो सकते हैं, निश्चित रूप से - अधिकांश विधायक सख्त और अशुद्ध हैं। , टाइप सिस्टम और भाषा डिजाइन में अनुसंधान के लिए एक वाहन के रूप में हास्केल की लोकप्रियता के साथ शुरू करने का मतलब है कि अधिकांश एमएल-शैली भाषाओं में कम शक्तिशाली (लेकिन समझने में आसान) प्रकार की प्रणाली होती है। यह कहना शायद सुरक्षित है कि आप चूक सकते हैंहास्केल के बारे में कुछ बातें, विशेष रूप से पहली बार में, अधिकांश हास्केल प्रोग्रामर शायद एक एमएल में बहुत जल्दी घर पर आराम से महसूस करेंगे, एक बुनियादी हो रही चीजों पर। यदि आप हास्केल के समान समग्र संरचना वाली भाषा चाहते हैं , तो एक एमएल आपकी सबसे अच्छी शर्त है।
स्काला का कार्यात्मक पक्षएमएल परंपरा से भारी खींचता है, साथ ही हास्केल से परिचित कुछ उन्नत प्रकार की प्रणाली सुविधाओं में भी खींचता है, साथ ही साथ एक अधिक मानक ओओपी प्रणाली उपरोक्त के साथ एकीकृत है। जबकि OO इन एमएल-स्टाइल भाषाओं को "मॉडल OO विथ बेसिक फंक्शनल टूल्स" के रूप में जाना जाता है, जो स्काला रहती है और जावा-स्टाइल OO सांस लेती है। यह जावा इंटरोप के लिए लाभ है, जैसा कि आप कल्पना कर सकते हैं, और OO प्रोग्रामर के लिए अधिक परिचित कार्य वातावरण प्रस्तुत करते हैं। हालाँकि, हास्केल पृष्ठभूमि से आने से, आप उन तरीकों से नाराज़ होने की अधिक संभावना रखते हैं, जो स्कैला में एक साथ चीजों को सम्मिश्रण करते हैं, कार्यात्मक मुहावरे को अनाड़ी बनाते हैं, और अधिकांश जावा एपीआई को बुरी तरह से डिज़ाइन किया गया है और उपयोग करने के लिए अनावश्यक रूप से मुश्किल है।
अंत में, जबकि यह विचार करने में अजीब लग सकता है, क्लोजर वास्तव में अधिक दार्शनिक स्तर पर हास्केल के साथ बहुत सी चीजें हैं। राज्य और मूल्यों बनाम पहचानों के बारे में क्लोज़र के दृष्टिकोण से आपको जो पता चलेगा, उनमें से अधिकांश आत्मा में बहुत करीब है कि हास्केल किस प्रकार की प्रणाली के माध्यम से औपचारिकता करता है। इसके विपरीत, क्लोजर जावा इंटरॉप को एक छोटी डिग्री पर जोर देता है और ओओपी में खींचने के बारे में ज्यादा चिंता नहीं करता है, इसलिए कुछ तरीकों से क्लोजर का कार्यात्मक प्रोग्रामिंग के लिए दृष्टिकोण खुद के सबसे करीब हो सकता है जो आप पहले से परिचित हैं। मुझे लगता है कि यह इस संबंध में बता रहा है कि, मेरी जानकारी के अनुसार, क्लजुर एकमात्र भाषा है, जिसमें हास्केल के अलावा एसटीएम का कार्यान्वयन है।यह सरल, प्रभावी और सिर्फ काम करता है। दूसरी ओर, क्लीजुर लिस्प परंपरा से आता है और इस प्रकार इसमें स्थैतिक प्रकार की प्रणाली का अभाव है और बीजीय डेटा प्रकार और एमएल-प्रभावित भाषाओं में पाया जाने वाला पैटर्न पर जोर दिया गया है। और निश्चित रूप से यह एक लिस्प है, जो स्वयं कुछ लोगों के लिए नकारात्मक है (हालांकि मुझे वास्तव में पता नहीं है कि क्यों)।
खुद के लिए बोलते हुए, इस डिस्क्लेमर के साथ कि कार्यात्मक प्रोग्रामिंग के साथ मेरा पहला अनुभव स्कीम में था, मैं शायद क्लोजर की ओर झुक जाऊंगा, ओमेक्एल एक दूसरी पसंद के साथ।