Files
aoc-2022/app/Main.hs
Christian 402aa9fb80 Day 15
2023-10-04 17:14:36 +02:00

45 lines
868 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"
]
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