मुझे मज़दूरों को समझने में समस्याएं आ रही हैं, विशेष रूप से कंक्रीट प्रकार LYAH में है। मेरा मानना है कि ऐसा इसलिए है क्योंकि मुझे समझ में नहीं आता कि []
वास्तव में क्या है।हास्केल में [] (सूची निर्माता) क्या है?
fmap :: (a -> b) -> f a -> f b
[]
, एक प्रकार-निर्माता है? या, यह एक मूल्य निर्माता है?- इसका प्रकार क्या है:
[] :: [a]
? - क्या यह
Maybe
टाइप-कन्स्ट्रक्टर, याJust
वैल्यू कन्स्ट्रक्टर की तरह है?- यदि यह
Just
की तरह है तो कैसे आJust
क्यों[] :: a -> [a]
नहीं[]
टाइप किया
- यदि यह
- LYAH इस का कहना है के रूप में यह functors के लिए लागू होता है
Just :: a -> Maybe a
बजायJust :: Maybe a
की तरह एक हस्ताक्षर, दूसरे शब्दों में दिया गया है: सूचना उदाहरण के लिए हमने फ़ंक्शन [ए] क्यों नहीं लिखा, क्योंकि fmap :: (a -> b) -> fa -> fb से, हम देखते हैं कि f को एक प्रकार का कन्स्ट्रक्टर होना चाहिए जो एक प्रकार लेता है। [ए] पहले से ही एक ठोस प्रकार है (इसमें किसी भी प्रकार के साथ एक सूची है), जबकि[]
एक प्रकार का कन्स्ट्रक्टर है जो एक प्रकार का होता है और [int], [स्ट्रिंग] या यहां तक कि [[स्ट्रिंग]] जैसे प्रकार का उत्पादन कर सकता है। मैं उलझन में हूं हालांकि[]
का प्रकार यह दर्शाता है कि यह[a]
के लिए एक शाब्दिक जैसा है LYAH क्या प्राप्त करने का प्रयास कर रहा है?
और यदि आप कुछ प्रकार चाहते हैं -> [ए], मजाकिया लग रहा है (: []) फ़ंक्शन। –
^या आप 'रिटर्न' (या' शुद्ध' या अन्य) का उपयोग कर सकते हैं: डी –
@ डैनियलवेलकोव: ': []' '' ''' धाराबद्ध वाक्यविन्यास का उपयोग करके आंशिक रूप से '[]' पर लागू किया गया है, बस स्पष्ट होना चाहिए। – mk12