advent-of-code/2023/haskell/app/Main.hs
2023-12-04 23:07:37 +01:00

50 lines
905 B
Haskell

module Main where
import Utils (readInput)
import qualified Day01
import qualified Day02
import qualified Day03
import qualified Day04
day01 :: IO ()
day01 = do
input <- Day01.parse <$> readInput 1
print . Day01.solveA $ input
print . Day01.solveB $ input
day02 :: IO ()
day02 = do
text <- readInput 2
case Day02.parse text of
Left err -> putStrLn err
Right xd -> do
print . Day02.solveA $ xd
print . Day02.solveB $ xd
day03 :: IO ()
day03 = do
text <- readInput 3
case Day03.parse text of
Left err -> putStrLn err
Right xd -> do
print . Day03.solveA $ xd
print . Day03.solveB $ xd
day04 :: IO ()
day04 = do
text <- readInput 4
case Day04.parse text of
Left err -> putStrLn err
Right xd -> do
print . Day04.solveA $ xd
print . Day04.solveB $ xd
main :: IO ()
main = do
-- day01
-- day02
-- day03
day04
pure ()