Files
aoc-2022/app/Main.hs

32 lines
670 B
Haskell
Raw Normal View History

2023-08-27 22:30:00 +02:00
{-# LANGUAGE LambdaCase #-}
module Main where
import Lib
import Print
import qualified Days.D01 as D01
2023-08-28 18:40:38 +02:00
import qualified Days.D02 as D02
2023-08-27 22:30:00 +02:00
import System.Environment (getArgs)
2023-08-28 18:40:38 +02:00
solutions :: [(Int, Day, FilePath)]
solutions =
[ (1, D01.day, "./data/01.in")
, (2, D02.day, "./data/02.in")
]
runAll :: [(Int, Day, FilePath)] -> IO ()
runAll = mapM_ (\(dayNum, day, path) -> run day path >>= printDR dayNum)
2023-08-27 22:30:00 +02:00
header :: IO ()
header = putStrLn "[ Day ]------(1)-----+------(2)----"
usage :: IO ()
usage = putStrLn "./Main"
main :: IO ()
main =
getArgs >>= \case
2023-08-28 18:40:38 +02:00
["all"] -> header >> runAll solutions
_ -> header >> runAll [last (solutions)]