是否有充分的理由解释为什么Prelude.read是
read :: Read a => String -> a
而不是返回Maybe
值?
read :: Read a => String -> Maybe a
由于字符串可能无法解析为Haskell,因此后者会更自然吗?
甚至是Either String a
,Left
如果没有解析,原始的字符串在哪里,如果有Right
则返回结果?
编辑:
我并不是想让别人为我写一个相应的包装器。只是想确保这样做是安全的。
readMaybe
很快会添加一个功能。
take
应该Integral n => n -> [a] -> [a]
吗?
take
接受任何东西Num a => a
?为什么有fmap
for列表的特殊情况?为什么实例Functor
不是必需的Monad
?我希望答案与这些及相关问题的答案相似。