Работа через Real World Haskell прямо сейчас. Вот решение очень раннего упражнения в книге:
-- | 4) Counts the number of characters in a file
numCharactersInFile :: FilePath -> IO Int
numCharactersInFile fileName = do
contents <- readFile fileName
return (length contents)
Мой вопрос: как бы вы протестировали эту функцию? Есть ли способ сделать "макет" ввода вместо фактического взаимодействия с файловой системой, чтобы проверить его? Haskell уделяет особое внимание чистым функциям, которые я должен себе представить, что это легко сделать.