Data.Vector.Generic.Vector
typeclass दो प्रकार तर्क, v
और a
जहां v :: * -> *
कंटेनर के प्रकार है और a :: *
कंटेनर में तत्वों के प्रकार है लेता है। यह vector
पैकेज में परिभाषित वेक्टर प्रकारों के लिए बस एक सामान्य इंटरफ़ेस है, विशेष रूप से Data.Vector.Unboxed.Vector
।
यह अनिवार्य रूप से कह रहा है कि प्रकार v
, (Double, Double)
और Double
धारण करने के लिए सक्षम होना चाहिए, हालांकि एक साथ नहीं। यदि आप v ~ Data.Vector.Unboxed.Vector
का उपयोग करना चाहते थे तो यह ठीक काम करता है। कारण correlation
के कार्यान्वयन के कारण है, जो unzip
का उपयोग करता है। यह फ़ंक्शन v (a, b)
को (v a, v b)
में विभाजित करता है। चूंकि correlation
v (Double, Double)
पर काम कर रहा है, इसलिए v
अतिरिक्त बाधा की आवश्यकता है Double
एस।
यह सामान्य प्रकार correlation
Data.Vector.Vector
से अधिक प्रकार के फ़ंक्शन काम करने के लिए है, जिसमें किसी अन्य वेक्टर शैली प्रकार शामिल हैं जो अन्य पुस्तकालयों में लागू हो सकते हैं।
मैं तनाव v
(Double, Double)
पकड़े करने में सक्षम है और यह भी Double
पकड़े करने में सक्षम है के लिए कि इन बाधाओं
Data.Vector.Generic.Vector v (Double, Double)
Data.Vector.Generic.Vector v Double
राज्य कि जो कुछ भी प्रकार आप चुनते हैं चाहता हूँ। यह आपके वेक्टर प्रकार के लिए कुछ पूर्व शर्त निर्दिष्ट करता है, न कि वेक्टर की वास्तविक सामग्री। वेक्टर की वास्तविक सामग्री correlation
फ़ंक्शन के पहले तर्क में निर्दिष्ट है।
मुझे यकीन नहीं है कि आपको "के संदर्भ में" कहां मिला है। इसका अर्थ क्या है "यदि बाईं ओर की बाधाएं पूरी की जाती हैं, तो दाईं ओर दिए गए प्रकार के साथ एक फ़ंक्शन मौजूद है"। – Cubic