是否有充分的理由解释为什么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?为什么有fmapfor列表的特殊情况?为什么实例Functor不是必需的Monad?我希望答案与这些及相关问题的答案相似。