"लैम्बडा द अल्टिमेट?" वाक्यांश का मूल और अर्थ क्या है?


43

मैं कुछ वर्षों से कार्यात्मक प्रोग्रामिंग भाषाओं के साथ खिलवाड़ कर रहा हूं, और मैं इस वाक्यांश का सामना कर रहा हूं। उदाहरण के लिए, यह "द लिटिल स्कीमर का एक अध्याय है, जो निश्चित रूप से इस नाम से ब्लॉग की भविष्यवाणी करता है। (नहीं, अध्याय मेरे प्रश्न का उत्तर देने में मदद नहीं करता है।)

मैं समझता हूं कि लंबोदर का अर्थ क्या है, एक अनाम फ़ंक्शन का विचार सरल और शक्तिशाली दोनों है, लेकिन मैं इस संदर्भ में "परम" का अर्थ समझने में विफल हूं।

जिन स्थानों पर मैंने यह वाक्यांश देखा है:

  1. द लिटिल स्कीमर के अध्याय 8 का शीर्षक
  2. एक ब्लॉग: http://lambda-the-ultimate.org/
  3. "लैम्ब्डा द अल्टीमेट एक्स" पेपर की एक श्रृंखला: http://library.readscheme.org/page1.html

मुझे ऐसा लगता है कि मुझे यहाँ एक संदर्भ याद आ रहा है, क्या कोई मदद कर सकता है?


1
ऐसा लगता है कि यह एक लोकप्रिय ब्लॉग का नाम है, लेकिन अगर कोई अन्य ऐतिहासिक स्रोत है, तो मुझे दिलचस्पी है ...
Klem

1
क्या आप उन स्थानों के लिए कुछ संदर्भ प्रदान कर सकते हैं जिन्हें आपने यह वाक्यांश देखा है? यह संदर्भ उत्तर खोजने में बेहद सहायक होगा।
एडम क्रॉसलैंड

@ अदम - ने कुछ संदर्भ जोड़े।
एरिक विल्सन

करने के लिए कागजात श्रृंखला लिंक रीडायरेक्ट cultureua.com सकते हैं किसी लिंक अपडेट की गई हैं?
तेजसबुबेन

जवाबों:


47

हां, यह केवल 70 के दशक में एक जोड़े से शुरू होने वाले कई पत्रों के शीर्षक में एक आवर्ती वाक्यांश है, जिसमें सुस्मान और स्टील प्रोग्रामिंग के लिए लैम्ब्डा कैलकुलस के उपयोग का प्रदर्शन करते हैं, इस योजना के नाम से एक न्यूनतम लिस्प बोली के माध्यम से "वे" के लिए तैयार हैं। उद्देश्य। आप कागजात खुद यहां पा सकते हैं ; वे दिलचस्प और आश्चर्यजनक रूप से प्रासंगिक हैं।

मुझे यकीन नहीं है कि यह कभी स्पष्ट रूप से कहा गया है, लेकिन यह स्पष्ट है (संदर्भ से, कागजों को पढ़ने, और लेखकों की सामान्य पृष्ठभूमि और अनुसंधान के हितों को जानते हुए) कि वाक्यांश केवल उनके विवाद के लिए एक आकर्षक नारा है जो लंबोदर सार है एक कम्प्यूटेशनल आदिम के रूप में, न केवल औपचारिक अर्थों में सार्वभौमिक हैं (कुछ फैशन में किसी भी कार्यक्रम को घेरने में सक्षम होने के बावजूद, हालांकि अजीब हैं), लेकिन एक व्यावहारिक अर्थ में सार्वभौमिक है कि कोई भी और अन्य भाषाओं में मौजूद हर निर्माण, यहां तक ​​कि वे भी जमीन से पके हुए, को लैम्ब्डा-आधारित भाषा में एक तरह से फिर से लागू किया जा सकता है जो उपयोग करने के लिए प्रभावी और प्राकृतिक दोनों है।

बार-बार वाक्यांश स्पष्ट सामान्यीकृत रूप की ओर जाता है "सभी एक्स के लिए, लैम्ब्डा अल्टिमेट एक्स" है, जो कि सामान्य तौर पर मैंने "लैम्ब्डा द अल्टीमेट" लिया है, जिसका अर्थ ब्लॉग नाम के रूप में है, यह देखते हुए कि एलटीयू प्रोग्रामिंग भाषा से संबंधित है डिजाइन और सिद्धांत। विडंबना यह है कि LTU शायद यह भी सबसे अच्छी जगहों में से एक है जो कुछ है जिसके लिए लैम्ब्डा है के बारे में बता सकते हैं खोजने के लिए किया जाएगा नहीं परम कार्यान्वयन। :]

यह भी ध्यान दें कि SussP SICP के लेखकों में से एक है, एक बहुत ही प्रभावशाली पाठ्यपुस्तक है जो योजना भाषा का उपयोग करता है और एक अवधारणा के रूप में लैम्बडा अमूर्तता का परिचय देते हुए उचित मात्रा में खर्च करता है।


2
उन क्लासिक कागजात का पता लगाने के लिए +1। गाइ एल स्टील, जूनियर ने भी कॉमन लिस्प पर किताब लिखी । गाय के लिए सड़क पर एलआईएसपी और स्कीम का अंत नहीं था, जो जे , फोर्ट्रेस और अन्य भाषाओं में योगदान करने के लिए गए थे । गाय जरगॉन फाइल और हैकर डिक्शनरी में भी शामिल था ।
जॉन टोबलर

@ जॉन टोबलर: काफी! मैंने केवल ससमान पर ध्यान केंद्रित किया क्योंकि उन्हें योजना के साथ अधिक भागीदारी थी, जो कि लैम्ब्डा पेपर्स से गहरा जुड़ा है। इसका मतलब यह नहीं है कि स्टील ने कुछ और नहीं किया है, क्योंकि यह वास्तव में बहुत दूर है। :]
सीए मैक्कन

28

लैम्ब्डा द अल्टिमेट कि लैम्ब्डा-पथरी की 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 , एक सुलभ संदर्भ है जो उस अवधारणा के विकास में योगदान देता है जो लैम्बडा अल्टिमेट है।


वाह। स्टैंडिंग ओवेशन-योग्य उत्तर। इतने सारे संकेत का पालन करने के लिए।
हमीजेल

13

मुझे लगता है कि यह 1975 और 1980 के बीच सुस्मैन और स्टील द्वारा लिखे गए कुछ पत्रों का संदर्भ है:

  • लैम्ब्डा: द अल्टीमेट इंपीरियल
  • लैम्ब्डा: द अल्टीमेट डिक्लेरेटिव
  • लैम्ब्डा: द अल्टीमेट गोटो
  • LAMBDA: अल्टीमेट ओपकोड

विकिपीडिया लेख देखें

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.