पर पैरामैट्रिज्ड इंडेक्टिव प्रकार मैं केवल Dependent Types at Work पढ़ रहा हूं। परिचय प्रकार parametrised करने के लिए, लेखक का उल्लेख है कि इस घोषणाAgda
data List (A : Set) : Set where
[] : List A
_::_ : A → List A → List A
में List
के प्रकार Set → Set
है और वह A
दोनों निर्माताओं, यानी करने के लिए अंतर्निहित तर्क हो जाता है।
[] : {A : Set} → List A
_::_ : {A : Set} → A → List A → List A
ठीक है, मैं यह थोड़ा अलग
data List : Set → Set where
[] : {A : Set} → List A
_::_ : {A : Set} → A → List A → List A
जो दुर्भाग्य से काम नहीं करता है (मैं दो दिन या तो के लिए AGDA जानने की कोशिश कर रही है, लेकिन मैं क्या इकट्ठा यह है से फिर से लिखने की कोशिश की क्योंकि रचनाकारों को Set₀
पर पैरामीराइज्ड किया गया है और इसलिए List A
Set₁
में होना चाहिए)।
दरअसल, निम्नलिखित
data List : Set₀ → Set₁ where
[] : {A : Set₀} → List A
_::_ : {A : Set₀} → A → List A → List A
स्वीकार किया जाता है फिर भी, मैं अब {A : Set} → ... → List (List A)
उपयोग करने में सक्षम हूँ (जो पूरी तरह से समझा जा सकता है)।
तो मेरा प्रश्न: List (A : Set) : Set
और List : Set → Set
के बीच वास्तविक अंतर क्या है?
आपके समय के लिए धन्यवाद!
आपके उत्तर के लिए धन्यवाद! अभी भी एक चीज है जिसे मैं जानना चाहता हूं (मेरा प्रश्न थोड़ा अस्पष्ट हो सकता है, मुझे डर है): मैं टाइप सिस्टम में असंगतता को रोकने के लिए 'सेट → सेट' के रूप में 'सूची' को परिभाषित नहीं कर सकता, वास्तविक क्या है तंत्र जो 'सूची (ए: सेट) बनाता है: सेट करें "काम"? मेरे कारण (हास्केल पृष्ठभूमि से आ रहा है), वे दोनों डेटा सूची :: * -> * जहां (...) ', लेकिन एक काम करता है और दूसरा नहीं लगता है। धन्यवाद! – Vitus
मुझे लगता है कि आपने पहले ही कारण बताया है; एक तर्क के रूप में सेट के साथ असंगतता रचनाकारों से बचने के लिए Set₁ में आवश्यक होना आवश्यक है। पैरामीट्रिक डेटा प्रकार हमें डेटाटाइप लिखने की इजाजत देता है कि इंडस्ट्रीज के साथ एक स्तर "उच्च" को समाप्त करना होगा, और यह पैरामीट्रिक डेटाटाइप की अच्छी तरह से व्यवहार की स्थिति के कारण "काम करता है"। दूसरी तरफ, कुछ विवाद है कि कैसे "सुरक्षित" अपरिवर्तनीय परिवार हैं, क्योंकि विकी के पृष्ठ को दिखाया गया है, और मुझे लगता है कि वर्तमान सर्वसम्मति कुछ छोटे और भरोसेमंद एग्डा कोड है जो फैंसी डेटा प्रकारों का अनुवाद किया जा सकता है। – danr
यह मेरे लिए धन्यवाद, धन्यवाद। यहां आपकी अच्छी तरह से योग्य बक्षीस है। – Vitus