मुझे लगता है कि आपको शायद इस बारे में गहराई से सोचना चाहिए कि आप इस सुविधा का उपयोग क्यों करना चाहते हैं। ऐसा लगता है कि एक भाषा चुनते समय बहुत अधिक महत्वपूर्ण विचार हैं।
मैं केवल इस संदर्भ में "ऑपरेटर" शब्द के लिए एक संभावित अर्थ के बारे में सोच सकता हूं, जो फ़ंक्शन कॉल के लिए सिंटैक्टिक चीनी है, उदाहरण के लिए foo + bar
को फ़ंक्शन +(a, b)
पर कॉल के रूप में अनुवादित किया जाएगा।
यह कभी-कभी उपयोगी होता है, लेकिन अक्सर नहीं। मैं बहुत कम उदाहरणों के बारे में सोच सकता हूं जहां मैंने ऑपरेटर को अधिभारित/परिभाषित किया है।
जैसा कि अन्य उत्तरों में उल्लेख किया गया है, हास्केल आपको नए इन्फिक्स ऑपरेटरों को परिभाषित करने की अनुमति देता है। हालांकि, आलसी मूल्यांकन के साथ एक पूरी तरह कार्यात्मक भाषा एक मुंह से थोड़ा सा हो सकता है। यदि आप पहली बार एक कार्यात्मक भाषा पर प्रयास करना चाहते हैं, तो शायद मैं Haskell पर SML की अनुशंसा करता हूं। प्रकार प्रणाली थोड़ा सा सरल है, आप साइड इफेक्ट्स का उपयोग कर सकते हैं और यह आलसी नहीं है।
एफ # भी बहुत रोचक है और इसमें units of measure भी शामिल है, जो AFAIK उस भाषा के लिए अद्वितीय है। यदि आपको सुविधा की आवश्यकता है तो यह अमूल्य हो सकता है।
मेरे सिर के ऊपर से मैं इंफिक्स ऑपरेटरों के साथ किसी भी स्थिर रूप से टाइप की गई अनिवार्य भाषाओं के बारे में नहीं सोच सकता, लेकिन आप गणित प्रोग्रामिंग के लिए एक कार्यात्मक भाषा का उपयोग करना चाह सकते हैं, क्योंकि यह एक कार्यात्मक के बारे में तथ्यों को साबित करना बहुत आसान है कार्यक्रम।
यदि आप इंफिक्स ऑपरेटरों जैसे वाक्यविन्यास मुद्दे आपके लिए बहुत महत्वपूर्ण हैं तो आप एक छोटा डीएसएल भी बनाना चाहते हैं। फिर आप जो भी भाषा चाहते हैं उसमें प्रोग्राम लिख सकते हैं और अभी भी गणित को सुविधाजनक तरीके से निर्दिष्ट कर सकते हैं।
स्रोत
2009-07-26 17:55:41
परिभाषित करें "ऑपरेटर"। – Svante
'ऑपरेटर' एक सुंदर अच्छी तरह से परिभाषित शब्द है। –