Files
aoc-2022/app/Main.hs
Christian 1a7151a322 Day 21
2023-11-08 22:13:00 +01:00

52 lines
995 B
Haskell

{-# LANGUAGE LambdaCase #-}
module Main where
import Lib
import System.Environment (getArgs)
paths :: [FilePath]
paths =
[ "./data/01.in"
, "./data/02.in"
, "./data/03.in"
, "./data/04.in"
, "./data/05.in"
, "./data/06.in"
, "./data/07.in"
, "./data/08.in"
, "./data/09.in"
, "./data/10.in"
, "./data/11.in"
, "./data/12.in"
, "./data/13.in"
, "./data/14.in"
, "./data/15.in"
, "./data/16.in"
, "./data/17.in"
, "./data/18.in"
, "./data/19.in"
, "./data/20.in"
, "./data/21.in"
]
solutions :: [(Int, Day, FilePath)]
solutions = zip3 [1 ..] (map head days) paths
runAll :: [(Int, Day, FilePath)] -> IO ()
runAll = mapM_ (\(dayNum, day, path) -> run day path >>= printDR dayNum)
usage :: IO ()
usage = putStrLn "./Main"
main :: IO ()
main =
printHeader
>> getArgs
>>= (\case
["all"] -> runAll solutions
_ -> runAll [last solutions])
>> printFooter