Я думаю, что вы хотите что-то ниже,
import Data.Time.Calender
import Data.List (intercalate)
replace :: String -> String
replace src = intercalate "-" $ words $ filter (/= ',') src
main :: IO ()
main = do
-- Example input: 2018, 11, 12
dayString <- getLine
let day = read (replace dayString) :: Day
-- Example output: 2018-11-12
print day
проблема была в том, что Day
ожидают чтения в формате YYYY-MM-DD
, но YYYY, MM, DD