लैम्ब्डा द अल्टिमेट कि लैम्ब्डा-पथरी की lambdas कर सकते हैं विचार को संदर्भित करता है को प्रभावी ढंग से लागू करने के लिए हर हर प्रोग्रामिंग भाषा, अतीत, वर्तमान, और भविष्य में निर्मित अवधारणा। कक्षाएं, मॉड्यूल, पैकेज, ऑब्जेक्ट्स, तरीके, नियंत्रण-प्रवाह, डेटा संरचनाएं, मैक्रोज़, निरंतरता, कोरआउट, जेनरेटर, सूची समझ, स्ट्रीम, और इसी तरह।
जैसा कि होता है, उस परम प्रकृति में एक बेनामी फ़ंक्शन के लिए खड़ा होना शामिल है । लेकिन लंबोदर अपने मूल कार्यों में सीमित नहीं हैं। उन्हें इस तरह से पढ़ाया जाता है, लेकिन नाम के बिना गणितीय कार्यों की तुलना में लैम्ब्डा का सार कहीं अधिक गहरा है। दूसरे शब्दों में, मैं इस मुद्दे के साथ ले:
मैं समझता हूं कि लंबोदर का अर्थ क्या है, एक अनाम फ़ंक्शन का विचार सरल और शक्तिशाली दोनों है, लेकिन मैं इस संदर्भ में "परम" का अर्थ समझने में विफल हूं।
एक व्यावहारिक बात के रूप में, लैम्ब्डा का उपयोग वाक्य-संबंधी अमूर्त ('मैक्रोज़') के रूप में किया जाता है, जो कि कॉल-बाय-वैल्यू / एपेरेटिव (जो गणितीय कार्य हैं), इस विचार में खरीदने के लिए बिल्कुल महत्वपूर्ण है कि लैम्ब्डा वास्तव में के रूप में सेवा कर सकता है हर प्रोग्रामिंग लैंग्वेज प्रोसेसिंग सिस्टम का मूल।
थ्योरी के लिए: भोले सेट सिद्धांत में बर्ट्रेंड रसेल के विरोधाभास और एंगोम्स ऑफ कॉम्प्रिहेंशन (और एक्सटेंशन) के साथ एक दिलचस्प संबंध है। एक लैम्ब्डा कार्यों के लिए है जो सेट-बिल्डर संकेतन सेट करने के लिए है: लैम्ब्डा फ़ंक्शन-बिल्डर नोटेशन हैं। एक महत्वपूर्ण अंतर है, आमतौर पर नजरअंदाज किया जाता है, (लैम्ब्डा (एक्स) (* xx)) और जो इसका मूल्यांकन करता है (वह फ़ंक्शन जो वर्गों)। यदि कोई सामान्य रूप से दोनों के बीच अंतर करने में विफल रहता है, जो कि संकेतन और डीनोटेशन (एक गलती जो चर्च और फ्रीज दोनों ने की है) के बीच अंतर करता है, तो एक विरोधाभास से दूर चलता है। सेट्स और फ्रीज के लिए, यह बर्ट्रेंड रसेल की बार्बर ऑफ सेविले है जो त्रुटि को दिखाता है; फ़ंक्शंस और चर्च के लिए, यह एलन ट्यूरिंग का हाल्टिंग ओरेकल है।
ध्यान दें कि विरोधाभास अच्छे हैं, व्यावहारिक हैं, चीजें हैं। हम चाहते हैं कि EVAL अभिव्यंजक हो, और हम चाहते हैं कि लंबोदा का अर्थ केवल कार्यों से अधिक हो। इसके विपरीत विरोधाभासी होने के कारण वांछनीय परिणाम है; यह एक अच्छा पवित्रता परीक्षण के रूप में कार्य करता है: लंबोदर शायद ही अंतिम हो सकते हैं यदि वे केवल कार्य करते हैं।
रैकेट (पूर्व में पीएलटी योजना) इस विचार पर मुकदमा चलाती है कि व्यावहारिक प्रोग्रामिंग भाषाएं वास्तव में, जमीन से, 'सिर्फ लैंबडा' पर बनाई जा सकती हैं।
कर्नल , शट द्वारा, तर्क है कि लैम्ब्डा वास्तव में परम अमूर्त नहीं है। उनका तर्क है कि अभी भी एक अवधारणा अधिक आदिम है (ग्रीक के लिए, डब किए गए वाउ) जो कि ससमान को FEXPR के रूप में जाना जाता था।
Felleisin और कंपनी (रैकेट के लिए) की अवधारणा का उपयोग करके बहुत shutt के vau की शक्ति का मिल चरणों , या metalevels है, जो लगभग (अनुवाद के कई चरणों के माध्यम से स्रोत कोड चल सी preprocessing, लेकिन प्रत्येक पर एक ही भाषा का प्रयोग के साथ के रूप में इसका मतलब है 'चरण', और 'चरण' वास्तव में समय में पूरी तरह से अलग नहीं हैं)। (इसलिए, वे तर्क देते हैं कि एक उच्च चरण में एक लंबोदा एक वाउ को काफी अच्छी तरह से अनुमानित करता है।) वास्तव में, वे तर्क देते हैं कि चरण FEXPRs से बेहतर हैं , ठीक है अधिक सीमित होने के लिए; संक्षेप में, "FEXPRs बहुत शक्तिशाली हैं" (वैंड का काम देखें, जिसके खिलाफ शुट का तर्क है)।
ब्रायन स्मिथ के 3-लिस्प, "प्रोग्रामिंग भाषाओं में प्रक्रियात्मक प्रतिबिंब", डीआईएनसीएस (सिद्धांत / संदर्भ / मूल्यों / परिणामों) से तीव्र रूप से अलग-अलग संकेतन (प्रतीकों / भाषा / कार्यक्रमों) की तर्ज पर एलआईएसपी जैसी भाषाओं के सिद्धांत के कठोर सुधार का प्रयास करता है। )। http://dspace.mit.edu/handle/1721.1/15961
मिचेल वांड की "FEXPRs की थ्योरी ट्रिवियल है" (अस्थाई?) ताबूत में अधिक नाखून भेजती है कि केंट पिटमैन FEXPRs के लिए गढ़ा (जो फेलेसेन की तरह FEXPRD के खिलाफ तर्क देता है कि संकलन बहुत कठिन है)।
पॉल ग्राहम "ऑन लिस्प" में ताकत और लंबाई के साथ तर्क देते हैं कि वास्तविक शक्ति लैंबडास है जो सिंटेक्स (मैक्रोज़) के ट्रांसफार्मर के रूप में है, बल्कि मूल्यों के ट्रांसफार्मर (गणितीय कार्यों) के रूप में। प्लॉटकिन के एप्लाइड लैम्ब्डा-कैलकुलस के विकास को कुछ विपरीत के रूप में लिया जा सकता है, क्योंकि प्लॉटकिन चर्च के कैलकुलस को अपने कॉल-बाय-वैल्यू / एपेरेटिव सबसेट में सीमित करता है। बेशक, आवेदक भाग को कुशलता से संभालना बहुत महत्वपूर्ण है, इसलिए लैम्ब्डा के उपयोग के लिए विशेष सिद्धांत विकसित करना महत्वपूर्ण है। (प्लॉटकिन और ग्राहम एक दूसरे के खिलाफ बहस नहीं करते हैं।)
वास्तव में, सामान्य तौर पर, परम के रूप में लैम्ब्डा की धारणा दक्षता और अभिव्यक्ति के बीच शाश्वत बहस पर सिर्फ एक ऐसा मोड़ है; यह स्थिति है कि लैम्ब्डा अभिव्यक्ति के लिए अंतिम उपकरण है, और, पर्याप्त अध्ययन दिया, अंततः दक्षता के लिए भी अंतिम उपकरण साबित होगा। दूसरे शब्दों में, हम कर सकते हैं, यदि हम चाहते हैं कि प्रोग्रामिंग भाषाओं के भविष्य को अधिक से अधिक और कुछ भी नहीं के अध्ययन के रूप में देखें कि लैम्बडा कैलकुलस के व्यावहारिक रूप से प्रासंगिक अंशों को कैसे कुशलतापूर्वक लागू किया जाए।
लैंडिन की "द नेक्स्ट 700 प्रोग्रामिंग लैंग्वेजेस", http://www.cs.cmu.edu/~ceath/819-f09/Landin66.pdf , एक सुलभ संदर्भ है जो उस अवधारणा के विकास में योगदान देता है जो लैम्बडा अल्टिमेट है।