क्या Prelude.read का प्रकार एक अच्छा कारण है
read :: Read a => String -> a
Maybeमूल्य वापस करने के बजाय ?
read :: Read a => String -> Maybe a
चूंकि तार पारगम्य हास्केल होने में विफल हो सकता है, क्या उत्तरार्द्ध अधिक प्राकृतिक नहीं होगा?
या यहां तक कि एक Either String a, जहां Leftमूल स्ट्रिंग शामिल नहीं होगी अगर यह पार्स नहीं किया था, और Rightयदि ऐसा हुआ तो परिणाम?
संपादित करें:
मैं दूसरों को मेरे लिए एक संगत आवरण लिखने की कोशिश नहीं कर रहा हूँ। बस यह सुनिश्चित करने के लिए आश्वस्त है कि ऐसा करना सुरक्षित है।
readMaybeजल्द ही एक समारोह जोड़ा जाएगा।
takeहोना चाहिए Integral n => n -> [a] -> [a]?
takeस्वीकार क्यों नहीं करताNum a => a?fmapसूचियों का एक विशेष मामला क्यों है ? उदाहरणों केFunctorलिए क्यों आवश्यक नहीं हैMonad? मुझे उम्मीद है कि उत्तर इन और संबंधित प्रश्नों के उत्तर के समान होगा।