लंबोदर-पदों की विशेषता जिसमें संघ प्रकार हैं


29

कई पाठ्यपुस्तकें लैम्बडा-कैलकुलस में प्रतिच्छेदन प्रकारों को कवर करती हैं। चौराहे के लिए टाइपिंग नियमों को निम्नानुसार परिभाषित किया जा सकता है (बस टाइपिंग के साथ टाइप किए गए लंबो-पथरी के शीर्ष पर):

ΓM:T1ΓM:T2ΓM:T1T2(I)ΓM:(I)

सामान्यीकरण के संबंध में अंतःक्रियात्मक प्रकार के दिलचस्प गुण हैं:

  • एक लैम्ब्डा-टर्म को I नियम का उपयोग किए बिना टाइप किया जा सकता है यदि यह दृढ़ता से सामान्य कर रहा है।
  • एक लैम्ब्डा-शब्द एक प्रकार को स्वीकार करता है जिसमें iff नहीं होता है, यह एक सामान्य रूप है।

क्या होगा अगर चौराहों को जोड़ने के बजाय, हम यूनियनों को जोड़ते हैं?

ΓM:T1ΓM:T1T2(I1)ΓM:T2ΓM:T1T2(I2)

क्या लैम्ब्डा-कैलकुलस सरल प्रकार, उपप्रकार और यूनियनों के साथ कोई दिलचस्प समान संपत्ति है? संघ के साथ टाइप किए जाने वाले शब्दों की विशेषता कैसे हो सकती है?


दिलचस्प सवाल। क्या आप कह सकते हैं कि OOP से इंटरफेस इसके अनुरूप है?
राफेल

जवाबों:


11

पहली प्रणाली में जिसे आप सबटिपिंग कहते हैं, ये दो नियम हैं:

Γ,x:T1M:SΓ,x:T1T2M:S(E1)Γ,x:T2M:SΓ,x:T1T2M:S(E2)

वे लिए उन्मूलन नियमों के अनुरूप हैं ; उनके बिना संयोजी कमोबेश बेकार है।

दूसरी प्रणाली में (संयोजियों साथ और , हम भी एक जोड़ सकता है जो करने के लिए ) subtyping नियम अप्रासंगिक हैं, और मैं साथ नियमों आपने सोचा था अनुसरण कर रहे हैं लगता है कि इसके बाद के संस्करण,:

Γ,x:T1M:SΓ,x:T2M:SΓ,x:T1T2M:S(E)Γ,x:M:S(E)

इसके लायक क्या है, यह सिस्टम टाइप करने की अनुमति देता है ( नियम का उपयोग करके ), जिसे केवल सामान्य प्रकार से टाइप नहीं किया जा सकता है, जिसका सामान्य रूप है, लेकिन दृढ़ता से सामान्य नहीं है ।(λx.I)Ω:AAE


यादृच्छिक विचार: (शायद यह TCS पर पूछने लायक है)

इससे मुझे अनुमान होता है कि संबंधित गुण कुछ इस प्रकार हैं:

  • एक टर्म एक प्रकार को जिसमें iff सभी लिए एक सामान्य रूप है जो एक सामान्य रूप है। ( परीक्षणों में विफल रहता है, लेकिन उपरोक्त λ-टर्म उन्हें पास करता है)MMNNδ
  • एक λ अवधि का उपयोग किए बिना टाइप किया जा सकता है शासन iff दृढ़ता से सभी दृढ़ता से सामान्य के लिए सामान्य है ।MEMNN

व्यायाम: मुझे गलत साबित करें।

यह भी एक पतित मामला लगता है, शायद हमें इस आदमी को तस्वीर में जोड़ने पर विचार करना चाहिए । जहाँ तक मुझे याद है, यह प्राप्त करने की अनुमति देगा ?A(A)


उप-नियम के बारे में अच्छी बात है, वे बताते हैं कि संघ प्रकार लगभग चौराहों के रूप में स्वाभाविक नहीं हैं (जो तीर के लिए मौखिक रूप से टाइप किए जाते हैं)। दूसरे भाग के बारे में मुझे कुछ और सोचने की जरूरत है।
गिल्स एसओ- बुराई को रोकना '

मुझे लगता है कि व्यायाम का उत्तर देता है, यदि आप संघ प्रकारों के बारे में बात कर रहे हैं। M=(λx.xx)(λy.y)
जम्म

कॉल / cc के बारे में: इसके लिए बस लैम्बडा-टर्म्स (जैसे लैम्ब्डा-म्यू-टर्म्स या अन्य फ्रेमवर्क) से अधिक की आवश्यकता होती है, लेकिन टाइप सिस्टम अधिक जटिल, लॉजिक सिस्टम होते हैं, जिसमें यूनियन प्रकार अप्रासंगिक हो सकते हैं।
जाम

@ जैमद: वास्तव में, इस शब्द को लिखने के लिए चौराहे के प्रकार की आवश्यकता होती है :-( हो सकता है कि यूनियनों और चौराहों पर विचार करना एक साथ दिलचस्प हो?
स्टीफन जिमेनेज़

मुझे एक λ-टर्म में दिलचस्पी होगी जो एक प्रकार के यूनियन प्रकार (आरएस के साथ चौराहे प्रकार) के साथ टाइप कर सकता है लेकिन सरल प्रकार (आरएस चौराहे के प्रकार के साथ नहीं) के साथ।
19

16

मैं सिर्फ यह समझाना चाहता हूं कि चौराहे के प्रकार सामान्यीकरण (मजबूत, सिर या कमजोर) की कक्षाओं को चिह्नित करने के लिए अच्छी तरह से अनुकूल हैं, जबकि अन्य प्रकार के सिस्टम नहीं कर सकते। (बस-टाइप या सिस्टम एफ)।

मुख्य अंतर यह है कि आपको कहना है: "अगर मैं और टाइप कर सकता हूं तो मैं टाइप कर सकता हूं "। यह अक्सर गैर-प्रतिच्छेदन प्रकारों में सच नहीं होता है क्योंकि किसी शब्द की नकल की जा सकती है:M2M1M2M1

(λx.Mxx)NMNN

और फिर टाइप मतलब है कि आप की दोनों घटनाओं को टाइप कर सकते हैं लेकिन एक ही प्रकार के साथ नहीं, उदाहरण के लिए प्रकार के चौराहे के साथ आप इसे इसमें बदल सकते हैं: और फिर महत्वपूर्ण चरण अब वास्तव में आसान हो गया है: तो से चौराहे प्रकार के साथ टाइप किया जा सकता है।MNNN

M:T1T2T3N:T1N:T2
M:T1T2T1T2T3N:T1T2
(λx.Mxx):T1T2T3N:T1T2
(λx.Mxx)N

अब संघ प्रकारों के बारे में: मान लीजिए कि आप कुछ यूनियन प्रकारों के साथ टाइप कर सकते हैं, तो आप भी टाइप कर सकते हैं और फिर कुछ प्रकारों के लिए प्राप्त कर सकते हैं लेकिन आपको अभी भी यह साबित करना है कि हर , जो असंभव लगता है वह भी एक यूनियन प्रकार है।(λx.xx)(λy.y)λx.xxS,T1,

x:T1T2Tnxx:S
ix:Tixx:SS

यही कारण है कि मुझे नहीं लगता कि यूनियन प्रकारों के लिए सामान्यीकरण के बारे में एक आसान लक्षण वर्णन है।

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