टाइपिंग नियम कैसे पढ़ें?


18

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

क्या इस क्षेत्र में शुरुआत करने के लिए कोई अच्छी किताबें या ऑनलाइन संसाधन उपलब्ध हैं? विकिपीडिया अविश्वसनीय रूप से अस्पष्ट है और वास्तव में शुरुआती मदद नहीं करता है।


1
क्या आपने अनुमान नियमों के बारे में जुड़े हुए लेख को पढ़ा है ?
— राफेल

2
बेंजामिन पियर्स का TAPL वास्तव में अच्छा है।
— गिल्स एसओ- बुराई को रोकना '29

जवाबों:


25

अधिकांश प्रकार के सिस्टम में, प्रकार के नियम फॉर्म के निर्णयों को परिभाषित करने के लिए एक साथ काम करते हैं:

Γ⊢e:τ

यह कहा गया है कि इस संदर्भ में अभिव्यक्ति ई प्रकार है τ । Apping अपने प्रकारों के लिए ई के मुक्त चर का मानचित्रण है ।Γeτ
Γe

एक प्रकार की प्रणाली में स्वयंसिद्ध और नियमों का एक सेट शामिल होगा ( राफेल के संकेत के रूप में अनुमान के नियमों की एक औपचारिक प्रणाली )।

एक स्वयंसिद्ध रूप है

Γ⊢e:τ

यह कहा गया है कि निर्णय रखती है (हमेशा)।Γ⊢e:τ

एक उदाहरण है

x:τ⊢x:τ

जो कहा गया है कि इस धारणा है कि चर के प्रकार के तहत है τ , तो अभिव्यक्ति एक्स प्रकार है τ ।xτxτ

इंजेक्शन नियम उन तथ्यों को लेते हैं जो पहले से निर्धारित किए गए हैं और उनसे बड़े तथ्यों का निर्माण करते हैं। उदाहरण के लिए इंजेक्शन नियम

Γ⊢e1:τ→τ′Γ⊢e2:τΓ⊢e1 e2:τ′

कहते हैं कि यदि मैं इस तथ्य की व्युत्पत्ति है और तथ्य की व्युत्पत्ति गामा ⊢ ई 2 : τ , तो मैं इस तथ्य की व्युत्पत्ति प्राप्त कर सकते हैं गामा ⊢ ई 1 ए 2 : τ ' । इस मामले में, यह फ़ंक्शन अनुप्रयोग टाइप करने के लिए नियम है।Γ⊢e1:τ→τ′Γ⊢e2:τΓ⊢e1 e2:τ′

इस नियम को पढ़ने के दो तरीके हैं:

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

कुछ इंजेक्शन नियम भी इसमें नई सामग्री जोड़कर हेरफेर करते हैं (व्यू-एड बॉटम अप)। यहां λ -abstraction के लिए नियम है :Γλ

Γx:τ⊢e:τ′Γ⊢λx.e:τ→τ′

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

उदाहरण के लिए, अभिव्यक्ति टाइपिंग की एक व्युत्पत्ति हैλf.λx.f x

दो प्रकार सिस्टम के बारे में सीखने के लिए बहुत अच्छी किताबें हैं:

f:τ→τ′,x:τ⊢f:τ→τ′f:τ→τ′,x:τ⊢x:τf:τ→τ′,x:τ⊢f x:τ′f:τ→τ′⊢λx.f x:τ′⊢λf.λx.f x:τ′

दोनों किताबें बहुत व्यापक हैं, फिर भी वे एक ठोस आधार का निर्माण करते हुए, धीरे-धीरे शुरू होती हैं।


8

अनुक्रमिक पथरी पर प्यारा इंटरैक्टिव ऑनलाइन ट्यूटोरियल है, जो कुछ अंतर्ज्ञानों का निर्माण करने में मदद कर सकता है और यह महसूस करने में मदद करता है कि इंजेक्शन कैसे काम करता है: अनुक्रम कैलकुलस का एक इंटरएक्टिव ट्यूटोरियल


3
यह वास्तव में अच्छा है।
— डेव क्लार्क

1
बहुत बढ़िया। मुझे इसे लगाने के लिए कुछ टैग विकि ढूंढनी होगी।
— राफेल

5

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

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