बॉटम टाइप

प्रकार सिद्धांत में, गणितीय तर्क के भीतर एक सिद्धांत, टाइप सिस्टम का निचला प्रकार वह प्रकार होता है जो अन्य सभी प्रकारों का उपप्रकार होता है। जहां ऐसा प्रकार मौजूद है, इसे अक्सर अप टैक (⊥) प्रतीक के साथ दर्शाया जाता है।

जब निचला प्रकार खाली होता है, तो एक फ़ंक्शन जिसका रिटर्न प्रकार निचला होता है, कोई भी मान नहीं लौटा सकता, यहां तक ​​कि इकाई प्रकार का अकेला मान भी नहीं। ऐसी भाषा में, निचले प्रकार को शून्य या कभी नहीं प्रकार के रूप में जाना जा सकता है। करी-हावर्ड पत्राचार में, एक खाली प्रकार मिथ्यात्व से मेल खाता है।

कंप्यूटर विज्ञान अनुप्रयोग
उपप्रकार प्रणालियों में, निचला प्रकार सभी प्रकारों का एक उपप्रकार होता है। यह शीर्ष प्रकार का दोहरा प्रकार है, जो एक सिस्टम में सभी संभावित मानों को फैलाता है।

यदि एक प्रकार की प्रणाली प्रकार की सुरक्षा है, तो निचला प्रकार निर्जन है और निचले प्रकार का शब्द एक तार्किक विरोधाभास का प्रतिनिधित्व करता है। ऐसी प्रणालियों में, आम तौर पर निचले प्रकार और खाली प्रकार के बीच कोई अंतर नहीं किया जाता है, और शब्दों का उपयोग परस्पर किया जा सकता है।

यदि निचला प्रकार बसा हुआ है, तो इसकी शर्तें आमतौर पर अपरिभाषित व्यवहार, अनंत पुनरावृत्ति, या अप्राप्य त्रुटियों जैसी त्रुटि स्थितियों के अनुरूप होती हैं।

बॉटम के साथ बाउंडेड क्वांटिफिकेशन में, पियर्स का कहना है कि बॉट के कई उपयोग हैं:


 * 1) अपवाद हैंडलिंग वाली भाषा में, raise निर्माण के लिए एक प्राकृतिक प्रकार raise ∈ exception --> Bot है, और इसी तरह अन्य नियंत्रण संरचनाओं के लिए भी। सहज रूप से, यहां बॉट उस प्रकार की गणना है जो कोई उत्तर नहीं देता है।
 * 2) बॉट बहुरूपी डेटा संरचनाओं के लीफ नोड्स को टाइप करने में उपयोगी है। उदाहरण के लिए, सूची (बॉट) शून्य के लिए एक अच्छा प्रकार है।
 * 3) जावा जैसी भाषाओं के नल पॉइंटर मान (एक सूचक जो किसी ऑब्जेक्ट को इंगित नहीं करता है) के लिए बॉट एक प्राकृतिक प्रकार है: जावा (प्रोग्रामिंग भाषा) में, नल प्रकार संदर्भ प्रकारों का सार्वभौमिक उपप्रकार है।   शून्य प्रकार का एकमात्र मान है; और इसे किसी भी संदर्भ प्रकार में डाला जा सकता है। हालाँकि, जैसा कि ऊपर वर्णित है, शून्य प्रकार निचला प्रकार नहीं है, यह इसका उपप्रकार नहीं है   और अन्य आदिम प्रकार।
 * 4) टॉप और बॉट दोनों सहित एक प्रकार की प्रणाली, प्रकार के अनुमान के लिए एक प्राकृतिक लक्ष्य प्रतीत होती है, जो एक छोड़े गए प्रकार के पैरामीटर पर बाधाओं को सीमाओं की एक जोड़ी द्वारा कैप्चर करने की अनुमति देती है: हम S<:X<:T का मान जानने के लिए लिखते हैं एक्स को एस और टी के बीच कहीं स्थित होना चाहिए। ऐसी योजना में, एक पूरी तरह से अप्रतिबंधित पैरामीटर नीचे बॉट से और ऊपर टॉप से ​​घिरा होता है।

प्रोग्रामिंग भाषाओं में
आमतौर पर उपयोग की जाने वाली अधिकांश भाषाओं में निचले प्रकार को दर्शाने का कोई तरीका नहीं होता है। कुछ उल्लेखनीय अपवाद हैं।

हास्केल (प्रोग्रामिंग भाषा) में,  ई> स्थिरांक या के साथ बनाए गए पद   कंस्ट्रक्टर को किसी भी प्रकार का असाइन किया जा सकता है। ऐसी अभिव्यक्ति का मूल्यांकन करने का प्रयास करने से कोड अप्राप्य रूप से निरस्त हो जाता है। ध्यान दें कि हास्केल खाली प्रकारों की भी अनुमति देता है: Data.Void

सामान्य लिस्प में प्रकार, इसमें कोई मान नहीं है और यह हर प्रकार का एक उपप्रकार है। जिस प्रकार का नाम दिया गया है   कभी-कभी नामित प्रकार के साथ भ्रमित हो जाता है  , जिसका एक मान अर्थात प्रतीक है   अपने आप।

स्काला (प्रोग्रामिंग भाषा) में, नीचे के प्रकार को इस प्रकार दर्शाया गया है. ऐसे फ़ंक्शंस के लिए इसके उपयोग के अलावा जो केवल अपवाद फेंकते हैं या अन्यथा सामान्य रूप से वापस नहीं आते हैं, इसका उपयोग सहप्रसरण और विरोधाभास (कंप्यूटर विज्ञान) पैरामीट्रिक बहुरूपता # पैरामीट्रिक बहुरूपता के लिए भी किया जाता है। उदाहरण के लिए, स्काला की सूची एक सहसंयोजक प्रकार का कंस्ट्रक्टर है  का एक उपप्रकार है   सभी प्रकार के लिए ए. तो स्काला के लिए, किसी भी प्रकार की सूची के अंत को चिह्नित करने के लिए वस्तु, प्रकार से संबंधित है.

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

जूलिया (प्रोग्रामिंग भाषा) में, निचला प्रकार है. टाइपप्रति में, निचला प्रकार है. Google क्लोजर टूल्स एनोटेशन के साथ जावास्क्रिप्ट में, निचला प्रकार है  (शाब्दिक रूप से, इसका एक गैर-शून्य सदस्य   इकाई प्रकार)।

PHP में, निचला प्रकार है.

पायथन (प्रोग्रामिंग भाषा) में, निचला प्रकार है  (  संस्करण 3.11 से)। कोटलिन (प्रोग्रामिंग भाषा) में, निचला प्रकार है. डी (प्रोग्रामिंग भाषा) में, निचला प्रकार है डार्ट (प्रोग्रामिंग भाषा) में, संस्करण 2.12 के बाद से ध्वनि शून्य सुरक्षा अद्यतन के साथ,  प्रकार को निचले प्रकार के रूप में पेश किया गया था। उससे पहले बॉटम टाइप हुआ करता था.

यह भी देखें

 * विरोधाभास
 * विफल-रुकना
 * NaN
 * शीर्ष प्रकार
 * इकाई प्रकार