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
않습니까? 이 질문 및 관련 질문에 대한 답변과 유사 할 것으로 예상합니다.