Files
advent-of-code-2023/day01/Commons.hs

20 lines
406 B
Haskell

module Commons where
import GHC.IO.Handle (isEOF)
type CalibrationLine = String
type CalibrationDocument = [CalibrationLine]
parseLine :: IO CalibrationLine
parseLine = do getLine
parse :: IO CalibrationDocument
parse = do done <- isEOF
if done
then return []
else do line <- parseLine
doc <- parse
return (line:doc)