क्या किसी भाषा की प्रासंगिक समानता `उद्धरण` -`वैल` तुच्छ है या नहीं?


13

[1] में, मिशेल वैंड ने प्रदर्शित किया कि शुद्ध लैम्ब्डा कैलकुलस में fexprs को जोड़ने से प्रासंगिक तुल्यता के सिद्धांत का तुच्छीकरण हो जाता है, जिसका अर्थ है कि दो शब्द प्रासंगिक रूप से समतुल्य हैं यदि वे congruent हैं। संबंधित काम की खोज करते समय, उन्होंने "हमारा परिणाम अल्बर्ट मेयर [2] का एक पुराना अवलोकन निकाला है और जो प्रासंगिक तुल्यता को प्रस्तुत करता है"। लेकिन [2] का जिक्र करते हुए, जो पाया जा सकता है, वह केवल मेयर द्वारा दिया गया निम्न कथन है:αevalquote

I feature rst ने सोचा कि भाषाओं में quote- evalLISP जैसे फीचर के साथ [3] वाक्य रचना और निष्पादन योग्य वस्तुओं के बीच कोई प्रकार का अंतर नहीं था। वास्तव में quote- evalLISP में पर्याप्त सुरक्षित लगता है क्योंकि, हालांकि quoteवाक्यविन्यास एक बोना operator डी ऑपरेटर की तरह दिखता है, जैसे कहते हैं cond, यह वास्तव में एक की तरह व्यवहार नहीं करता है (इसमें केवल पार्स समय में व्यवहार होता है, रन समय नहीं, जैसे, एक पास नहीं हो सकता quoteएक प्रक्रिया के एक पैरामीटर के रूप में)। फिर भी, मुझे अभी तक ठोस उदाहरण देखने को नहीं मिले हैं quote- जहां यह evalसुविधा सार्थक थी।

इन टिप्पणियों में एक छोटी सी खराबी के बावजूद, पाठक को यह अनुमान लगाने के लिए गुमराह condकर सकता है कि एक प्रक्रिया के पैरामीटर के रूप में पारित किया जा सकता है। अगर मैं सही ढंग से समझूं, तो मेयर ने क्या कहा " quote- evalकाफी सुरक्षित लगता है" का अर्थ है कि quote- evalवह समकालिक सिद्धांत का तुच्छीकरण नहीं कर सकता है, हालांकि उन्होंने प्रमाण नहीं दिया।

संपादित करें:

जैसा कि मार्टिन ने सुझाव दिया, चूंकि सभी तीन पत्रों ने एलआईएसपी परिवार की भाषाओं के साथ काम करने का हवाला दिया, आइए इस प्रश्न को उसी सेटिंग के तहत रखें। क्या किसी भाषा का प्रासंगिक साम्य है quote- evalविशेष रूप से LISP में, पृथ्वी पर तुच्छ है या नहीं?

[१] मिचेल वांड, द थ्योरी ऑफ़ फ़ेक्सपर्स इज ट्रिवियल । लिस्प और प्रतीकात्मक संगणना 10 (3): 189-199 (1998)।

[२] अलबर्ट मेयर, औपचारिक सॉफ्टवेयर विकास पर प्रोग्रामिंग लॉजिक वर्कशॉप में पहेलियाँ । 1984

[3] जॉन मैकार्थी, प्रतीकात्मक अभिव्यक्ति की रिकर्सिव कार्य और मशीन द्वारा उनके संगणना, भाग । अप्रैल 1960 में एसीएम के संचार।


1
मैं इस बात पर विचार करने का सुझाव दूंगा कि क्या आप प्रश्न को अधिक विशिष्ट बना सकते हैं: निर्माण जैसे निष्कासन / उद्धरण को लागू करने के विभिन्न तरीके हैं, और इस तरह की गणना के लिए प्रासंगिक तुल्यता को डिजाइन करने में विभिन्न विकल्प हैं। इनौ, ताहा द्वारा बहु-स्टेज कार्यक्रमों के बारे में एक हालिया संबंधित प्रकाशन रीज़निंग है
मार्टिन बर्जर

1
मुख्य अंतर CTMP (कंपाइल-टाइम मेटा-प्रोग्रामिंग के बीच है, जैसा कि टेम्पलेट हास्केल, लिस्प / स्कीम / रैकेट और कन्वर्जेंस द्वारा अनुकरण किया गया है, और RTMP (रन-टाइम मेटा-प्रोग्रामिंग जैसे जावास्क्रिप्ट, या मेटाऑक्लेमल) एक अन्य पैरामीटर टाइप कर रहा है। । यहाँ ।। एक सिंहावलोकन बात मैं कुछ महीनों के इस विषय पर वापस, काफी उथले मुझे डर लग रहा प्रासंगिक equivalences के बारे में दिया था, थोड़ा काम, किया गया है ज्यादातर मेटा प्रोग्रामिंग के लिए समर्थन प्रोग्रामिंग के द्रव अवस्था में मालिक है
मार्टिन बर्जर

1
@ plmday: BTW, आदर्श प्रोग्रामिंग लैंग्वेज वैंड का औपचारिक रूप The Theex of Fexprs Is Trivial है जो मेटा-प्रोग्रामिंग लिस्प से काफी अलग है। पूर्व आरएमएमपी है, बाद वाला (कंक्रीट कार्यान्वयन के आधार पर) नहीं है।
मार्टिन बर्गर

1
@MartinBerger: क्या आप अपनी बात पीडीएफ के रूप में पोस्ट कर सकते हैं?
डेव क्लार्क

1
@ डेव क्लार्क, यकीन है, यहाँ यह है! प्रतिक्रिया का स्वागत करते हैं।
मार्टिन बर्जर

जवाबों:


2

सबसे पहले, यह पूरी तरह से इस बात पर निर्भर करता है कि आप अपने संदर्भों का सेट क्या लेते हैं। यदि (quote [])एक संदर्भ है, तो प्रासंगिक तुल्यता वाक्यगत तुल्यता है।

परंपरागत रूप से, प्रासंगिक तुल्यता के संदर्भों को संदर्भों में लिया जाता है, जिसमें "भाव", जो भी अर्थ है, भाषा में दिखाई दे सकता है। यह संदर्भों को नियमबद्ध करता है "[]", जहां संदर्भ अपने तर्क को एक स्ट्रिंग शाब्दिक के अंदर रखता है। इस प्रकार के संदर्भ भी IIRC थे, जब उन्होंने मूल रूप से संदर्भित पारदर्शिता का वर्णन किया तो क्वीन ने इसे खारिज कर दिया।

इस दृष्टिकोण से, मुझे लगता (quote [])है कि यह भी एक संदर्भ नहीं है। इसके बजाय, संदर्भ ऐसे स्थान हैं जहां अभिव्यक्ति का मूल्यांकन संभावित रूप से हो सकता है, जैसे कि एक फ़ंक्शन के शरीर में या किसी एप्लिकेशन के तर्क में।

संभावित रूप से समस्यात्मक रूप से, इसका मतलब है कि मैक्रोज़ (या रैकेट या स्कीम प्रोग्राम) के साथ एक लिस्प कार्यक्रम में आपको पता नहीं है कि जब तक आप संभावित-नॉनटार्मिनेटिंग मैक्रो विस्तार प्रक्रिया को नहीं चलाते हैं, क्योंकि आप यह भी नहीं जानते हैं कि भाव कहाँ हैं? कर रहे हैं। आपको लगता है कि यह एक समस्या है या नहीं यह एक तकनीकी एक के बजाय ज्यादातर एक दार्शनिक सवाल है।


मुझे लगता है कि (quote [])एक संदर्भ के रूप में, इच्छाधारी सोच के बजाय, बाहर करने का एक तरीका है : के 'datumलिए सिंटैक्टिक चीनी के रूप में इलाज के विचार को खारिज करना (quote datum), फिर '[], जैसा "[]"कि अब कोई संदर्भ नहीं है। quoteवैसे भी स्कीम मैक्रोज़ अस्पष्ट है।
दिन

मैं आपकी टिप्पणी को नहीं समझता, @ दिन। कुछ के बीच संबंध 'datumऔर (quote datum)परिवर्तन क्यों होता है ?
सैम टोबिन-होचस्टाट

यदि quoteभाषा का निर्माण 'datumहोता है (quote datum), और लोग इसके (quote [])संदर्भ में तर्क देते हैं, तो यह संभव है कि एक संदर्भ हो। अगर हम हटाने quoteकोर भाषा से है, लेकिन शाब्दिक समर्थन 'datumवाक्य रचना है, तो वे कम संभावना है ताकि लोगों का तर्क होगा, क्योंकि समान "[]"है अच्छी तरह से ज्ञात एक संदर्भ नहीं किया जाना है।
दिन

@ दिन, यह एक गलतफहमी है। "संदर्भ" की कोई एक सही परिभाषा नहीं है। यह सिर्फ इतना है कि विभिन्न संदर्भ प्रासंगिक तुल्यता के विभिन्न धारणाओं का समर्थन करते हैं। उदाहरण के लिए, व्हॉट्सएप "[]"संदर्भ में शब्दगत रूप से महत्वपूर्ण है , लेकिन (quote [])संदर्भ में नहीं । "लोग" जो तर्क दे सकते हैं वह न तो यहां है और न ही है।
सैम टोबिन-होचस्टाट

मैं मानता हूं कि संदर्भ की कोई एक सही परिभाषा नहीं है। लेकिन अमूर्त वाक्य-विन्यास पर आधारित एक पारंपरिक परिभाषा है, वह जो वैंड अपने पेपर में उपयोग करता है और मेयेर अपने लेख में उपयोग करता है, लिस्प के प्रासंगिक तुल्यता की स्थिति पर सवाल उठाने के लिए। आपने जो सुझाव दिया है, वह संदर्भ की पारंपरिक परिभाषा को मूल्यांकन के संदर्भ में बदल रहा है। मैंने जो सुझाव दिया वह quoteसार वाक्य रचना से हटाने के संदर्भ की पारंपरिक परिभाषा को ध्यान में रख रहा है , लेकिन (स्थान-निरर्थक) उद्धरण के (ठोस) शाब्दिक वाक्य रचना का समर्थन करता है। मैं जो देख सकता हूं, उससे दोनों तरीके मूल प्रश्न पर "नहीं" होते हैं।
दिन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.