7

में पीएलटी रेडेक्स के उपयोग की व्याख्या करें कृपया किसी को सरल भाषा में कमी अर्थशास्त्र और पीएलटी रेडेक्स के उपयोग की व्याख्या करें।"कमी अर्थशास्त्र" क्या हैं? कृपया आम आदमी के शब्द

धन्यवाद।

उत्तर

13

कटौती सेमेन्टिक्स एक गणना तकनीक है जिसमें एक समकक्ष (और आशावादी छोटी) अभिव्यक्ति द्वारा अभिव्यक्ति को प्रतिस्थापित करने तक शामिल नहीं है जब तक कि कोई और प्रतिस्थापन संभव न हो। यदि कोई भाषा ट्यूरिंग-पूर्ण है, तो ऐसे अभिव्यक्तियां हैं जो प्रतिस्थापित नहीं होतीं।

कमी आम तौर पर एक सही तीर से notated है, और यह सबसे अच्छा उदाहरण से समझाया है:

(3 + 7) + 5 --> 10 + 5 --> 15 

इस अंकगणित भाव के लिए मानक कमी अर्थ विज्ञान को दर्शाता है। अभिव्यक्ति 15 को और भी कम नहीं किया जा सकता है।

उम्मीद है कि इससे मदद मिलती है।

+1

रेडएक्स वेबसाइट (redex.plt-scheme.org) और हाल ही में प्रकाशित पुस्तक ("पीएलटी रेडएक्स के साथ सेमेन्टिक्स इंजीनियरिंग") भी देखें। –

+0

@ नॉर्मन: मूल्यांकन के प्रतिस्थापन मॉडल के समान ही कमी है? – alinsoar

4

प्रासंगिक अर्थशास्त्र के लिए कटौती अर्थशास्त्र समान (यदि समान नहीं है) समान हैं। किसी भी अभिव्यक्ति को संदर्भ और रेडएक्स में विभाजित किया जा सकता है।

प्रोग्रामिंग भाषाओं के लिए रॉबर्ट हार्पर की प्रैक्टिकल नींव (ड्राफ्ट पीडीएफ उपलब्ध here) सेक्शन 9.3 प्रासंगिक सेमेन्टिक्स उन्हें समझाने का एक अच्छा काम करता है।

एक उदाहरण:

print 5+4 
**context: print [], redex: 5+4 
**evaluate redex: 9 
**plug back into context 

print 9 
**context: [], redex: print 9 
**evaluate redex: nil ==> 9 
**plug back into context 

nil 

आप कर सकते हैं 'छड़ी' redex संदर्भ से 'छेद' में वापस लाने के लिए: प्रिंट 5 + 4। मूल्यांकन रेडएक्स पर होता है। आप एक संदर्भ + रेडएक्स में अभिव्यक्ति तोड़ते हैं, एक नई अभिव्यक्ति प्राप्त करने के लिए रेडएक्स का मूल्यांकन करते हैं, संदर्भ में वापस प्लग करें, कुल्लाएं और दोहराएं।

(lambda x.x+1) 5 
**context: [] 5, redex: (lambda x.x+1) 
**evaluate redex: <(lambda x.x+1), {environment}> <- create a closure 
**plug back into context 

<(lambda x.x+1), {}> 5 
**context: [], redex: <(lambda x.x+1), {}> 5 
**evaluate redex: x+1 where x:=5 
**plug back into context 

x+1 where x:=5 
**context: []+1, redex: x 
**evaluate redex: 5 (since x:=5 in our environment) 
*plug back into context 

5+1... 
6 

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

यहाँ एक से थोड़ा अधिक जटिल उदाहरण है कि एक सार मशीन है कि लैम्ब्डा पथरी का मूल्यांकन करता है के ज्ञान की आवश्यकता है मुश्किल हिस्सा है जहां एक संदर्भ & redex में एक अभिव्यक्ति को तोड़ने के लिए पहचानना है। इसके लिए भाषा के परिचालन अर्थशास्त्र के ज्ञान की आवश्यकता होती है (जो अभिव्यक्ति का 'टुकड़ा' आपको अगले मूल्यांकन के लिए आवश्यक है)।

संबंधित मुद्दे