Pattern calculus
पैटर्न कलन सभी गणनाओं को एक बहुत ही सामान्य प्रकार के पैटर्न मिलान पर आधारित करता है। लैम्ब्डा कलन की तरह, यह कार्य मूल्यांकन के एक समान उपचार का समर्थन करता है। इसके अलावा, यह कार्यों को तर्क के रूप में पारित करने और परिणाम के रूप में वापस करने की अनुमति देता है। इसके अलावा, पैटर्न कलन तर्कों की आंतरिक संरचना के लिए समान पहुंच का समर्थन करता है, चाहे वे जोड़े हों या सूचियाँ या पेड़। इसके अलावा, यह पैटर्न को तर्क के रूप में पारित करने और परिणाम के रूप में वापस करने की अनुमति देता है। समान अभिगम को एक पैटर्न-मिलान कार्य द्वारा चित्रित किया जाता है जो एक मनमाना डेटा संरचना के आकार की गणना करता है। प्रोग्रामिंग भाषा बोंडी के संकेतन में, यह पुनरावर्ती फलन द्वारा दिया जाता है मान लीजिए रिक आकार =। x y-> (आकार x) + (आकार y)। x-> 1 दूसरा, या डिफ़ॉल्ट मामला तर्क और रिटर्न के खिलाफ पैटर्न से मेल खाता है। इस मामले का उपयोग केवल तभी किया जाता है जब मिलान पहले मामले में विफल हो जाता है। पहला, या विशेष मामला किसी भी यौगिक के खिलाफ मेल खाता है, जैसे कि गैर-खाली सूची, या जोड़ी। मिलान बाएँ घटक और दाएँ घटक से जुड़ता है। फिर केस का मुख्य भाग इन घटकों के आकार को एक साथ जोड़ता है। इसी तरह की तकनीकें खोजने और अद्यतन करने के लिए सामान्य प्रश्न उत्पन्न करती हैं। इस तरह से पुनरावृत्ति और अपघटन के संयोजन से पथ बहुरूपता प्राप्त होती है। पैटर्न को मापदंडों (पैटर्न बहुरूपता) के रूप में पारित करने की क्षमता को एक सामान्य उन्मूलनकर्ता को परिभाषित करके चित्रित किया गया है। मान लीजिए कि एक पेड़ की पत्तियों को बनाने और संख्याओं को काउंटरों में परिवर्तित करने के लिए निर्माता दिए गए हैं। इसके बाद संबंधित एलिमिनेटर को हटा दिया जाता है लीफ =। लीफ y-> y एलिमेटकौंट =। काउंट y-> y उदाहरण के लिए, जैसा होता है वैसा मूल्यांकन करता है। इन उदाहरणों को विचाराधीन निर्माताओं पर जेनेरिक एलिमिनेटर लागू करके तैयार किया जा सकता है। इसे उन्मूलन =। x->। {y} x y-> y द्वारा परिभाषित किया गया है। अब। {y} लीफ y-> y का मूल्यांकन करता है जो इसके बराबर है। यह भी इसके बराबर है। सामान्य तौर पर, घुंघराले ब्रेसिज़ में पैटर्न के बाध्य चर होते हैं, इसलिए यह मुक्त होता है और। {y} x y-> y में बंधा होता है। बाहरी लिंक नीचे दिए गए लिंक का संग्रह दर्पण (जो अब ऑनलाइन नहीं हैं)-मूल पेपर, लेकिन सबसे सामान्य नहीं। बोंडी प्रोग्रामिंग भाषा अनुसंधान साइट लैम्ब्डा कैलकुलस