क्या 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
? मुझे उम्मीद है कि उत्तर इन और संबंधित प्रश्नों के उत्तर के समान होगा।