ध्यान रखें कि अस्तित्वगत और सार्वभौमिक प्रकार अलग-अलग होते हैं। यह रचनात्मक तर्क, नहीं शास्त्रीय तर्क है और रचनात्मक तर्क में और ∃ के रूप में संबंधित नहीं हैं के रूप में वे शास्त्रीय तर्क में हैं।∀∃
प्रकार के प्रोग्राम हैं जो टाइप ए की वस्तु प्राप्त करते हैंऔर टाइप बी ( एक्स ) का ऑब्जेक्ट लौटाते हैं। यहां महत्वपूर्ण बात यह है कि टाइप बी ( एक्स ) एक्स परनिर्भर करताहैऔर सभी एक्स के लिए समान नहीं है। यह एक्स के आधार पर अलग-अलग हो सकताहै। एक इनपुट x के लिए हम एक पूर्णांक आउटपुट कर सकते हैं। दूसरे के लिए हम एक वास्तविक संख्या का उत्पादन कर सकते हैं। अभी तक एक और के लिए हम वास्तविक संख्या पर एक समारोह उत्पादन कर सकते हैं। यदि B ( x )∀x:A.B(x)AB(x)B(x) xxxxB(x) साथ भिन्न नहीं होता है तो आप A → B का उपयोग कर सकते हैं जो A से B तक के प्रकार हैं ।xA→BAB
) डिस्जैक्शन (निर्भर ) कानिर्भरसंस्करण है। आप रचनात्मक अलगाव के बारे में सोच सकते हैं एक ∨ बी दो प्रकार के एक और बी के संबंध तोड़ना संघ के रूप में एक और बी ।
∃ एक्स : एक । बी ( एक्स ) एक्स : ए
द्वारा अनुक्रमित बी ( एक्स ) के प्रकारों के संग्रह का असम्बद्ध संघ है। तथ्य यह है कि प्रकार बी (∃x:A.B(x)A∨BABAB∃x:A.B(x)B(x)x:A वैन के मूल्य के आधार पर बदलती एक्स : एक
यह एक आश्रित प्रकार बनाता है। मामले के साथ तुलना करें जहां बी पर निर्भर नहीं करता एक्स : एक : ∃ एक्स : एक । बी । हमप्रत्येक एक्स के लिए एकही बी की एक प्रति ले रहे हैं : ए । यह ए × बी के लिए आइसोमोर्फिक है।B(x)x:ABx:A∃x:A.BBx:AA×B
अब आप पूछ सकते हैं कि हमें निर्भर उत्पाद और योग के प्रकारों की आवश्यकता क्यों है ? क्योंकि वे हमें अधिक अभिव्यंजक शक्ति प्रदान करते हैं। अब हम प्रकारों को पूरी तरह से नजरअंदाज कर सकते हैं और अनपेड टाइप थ्योरी / फंक्शनल प्रोग्रामिंग कर सकते हैं। लेकिन यह पहली जगह में प्रकार के लाभों को हटा देता है, जैसे कि आपको पता नहीं होगा कि क्या सभी कार्यक्रम हमेशा समाप्त हो जाएंगे (मजबूत सामान्यीकरण)। लैंबडा क्यूब और
डिपेंडेंट टाइप देखें । मुझे लगता है कि निर्भर प्रकारों को अच्छी तरह से समझने का एक अच्छा तरीका मार्टिन-लोफ के प्रकार सिद्धांत में निर्भर प्रकारों को पेश करने और समाप्त करने के नियमों को देखना है ।
आश्रित प्रकारों का मुख्य बिंदु है: हम विभिन्न कारणों के लिए एक अच्छे टाइप किए गए सिद्धांत के अंदर बने रहना चाहते हैं (जैसे बग से बचना, समाप्ति का स्वत: प्रमाण, आदि)। हम अनपेड लैम्ब्डा कैलकुलस जैसी किसी चीज़ में नहीं जाना चाहते हैं जहाँ हम आपके द्वारा बताए गए और अधिक शक्तिशाली सामान को व्यक्त कर सकते हैं। हम कह सकते हैं कि आश्रित प्रकारों का आविष्कार एक अच्छा प्रकार के सिद्धांत के अंदर रहकर अधिक चीजों को व्यक्त करने की अनुमति देने के लिए किया गया था।