agda - Why is typecase a bad thing? -


दोनों Agda और Idris प्रकार के मूल्यों पर पैटर्न मिलान प्रभावी ढंग से निषेध करता है प्रकार । ऐसा लगता है कि आगरा हमेशा पहले मामले से मेल खाता है, जबकि इड्रिस ने सिर्फ एक त्रुटि फेंकता है

तो, क्यों टाइपकेस एक बुरी चीज है? क्या यह निरंतरता तोड़ता है? मैं विषय के बारे में अधिक जानकारी प्राप्त करने में सक्षम नहीं हूं।

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

लेकिन पैरामीट्रिकिटी के बारे में, मैं आपसे क्या पूछता हूं?

सबसे पहले, मुझे पैरामीट्रिकिटी नहीं चाहिए मैं टाइप-सामान्य कोड लिखने की कोशिश कर रहा हूं। मुझे परमेट्रिसिट्रिटी पर बल न दें।

दूसरे, क्यों प्रकार केवल उन चीजों को ही क्यों न हों जिनमे हम पैरामीट्रिक हैं? हम अन्य सामानों में क्यों नहीं कभी-कभी पैरामीट्रिक नहीं होना चाहिए, उदाहरण के लिए, बिल्कुल सामान्य प्रकार के इंडेक्स, जो डेटाटाइप में रहते हैं, लेकिन हम जो रन-टाइम में नहीं करना चाहते हैं? यह एक वास्तविक उपद्रव है, जो कि विनिर्देशन में केवल एक भाग खेलते हैं, केवल उनके प्रकार के कारण, उपस्थित होने के लिए मजबूर हैं।

किसी डोमेन के प्रकार < <>

आइए (जैसा कि बर्नार्डी और दोस्तों द्वारा प्रस्तावित किया गया है) एक अनुशासन जहां दोनों पैरामीट्रिक / इरेजेबल और गैर -पैमेट्रिक / मिलान योग्य मात्रा का ठहराव अलग और दोनों उपलब्ध हैं। फिर प्रकार डेटा हो सकते हैं और हम अभी भी कह सकते हैं कि हम क्या कहते हैं।

Comments

Popular posts from this blog

asp.net - Procedure or function "Procedure name" expects a parameter "Param name" which was not supplied occurs rarely -

c# - The item with identity 'Id' already exists in the metadata collection. Parameter name: item -

c++ - Redefined variable in the other module -