Existe uma boa razão para o tipo de Prelude.read ser
read :: Read a => String -> a
em vez de retornar um Maybevalor?
read :: Read a => String -> Maybe a
Já que a string pode não ser analisável por Haskell, o último não seria mais natural?
Ou até mesmo um Either String a, onde Leftconteria a string original se não fosse analisada eRight o resultado se sim?
Editar:
Não estou tentando fazer com que outras pessoas escrevam um wrapper correspondente para mim. Apenas buscando a garantia de que é seguro fazer isso.
readMaybefunção seja adicionada em breve.
takeser Integral n => n -> [a] -> [a]?
takeaceita nenhumNum a => a? Por que existe um caso especial defmaplistas para? Por queFunctornão é necessário paraMonadinstâncias? Espero que a resposta seja semelhante às respostas a essas perguntas e outras relacionadas.