Add 2023 template

This commit is contained in:
Alexander Kobjolke 2023-12-01 10:13:25 +01:00
parent cf2af11b6b
commit d06f469bb7
54 changed files with 240 additions and 4 deletions

View file

@ -21,6 +21,32 @@ library
AoC.Day
AoC.Riddle
AoC.Util
AoC.Y2023
AoC.Y2023.D01
AoC.Y2023.D02
AoC.Y2023.D03
AoC.Y2023.D04
AoC.Y2023.D05
AoC.Y2023.D06
AoC.Y2023.D07
AoC.Y2023.D08
AoC.Y2023.D09
AoC.Y2023.D10
AoC.Y2023.D11
AoC.Y2023.D12
AoC.Y2023.D13
AoC.Y2023.D14
AoC.Y2023.D15
AoC.Y2023.D16
AoC.Y2023.D17
AoC.Y2023.D18
AoC.Y2023.D19
AoC.Y2023.D20
AoC.Y2023.D21
AoC.Y2023.D22
AoC.Y2023.D23
AoC.Y2023.D24
AoC.Y2023.D25
AoC.Year
other-modules:
Paths_aoc

0
data/Y2023/D01/riddle Normal file
View file

0
data/Y2023/D02/riddle Normal file
View file

0
data/Y2023/D03/riddle Normal file
View file

0
data/Y2023/D04/riddle Normal file
View file

0
data/Y2023/D05/riddle Normal file
View file

0
data/Y2023/D06/riddle Normal file
View file

0
data/Y2023/D07/riddle Normal file
View file

0
data/Y2023/D08/riddle Normal file
View file

0
data/Y2023/D09/riddle Normal file
View file

0
data/Y2023/D10/riddle Normal file
View file

0
data/Y2023/D11/riddle Normal file
View file

0
data/Y2023/D12/riddle Normal file
View file

0
data/Y2023/D13/riddle Normal file
View file

0
data/Y2023/D14/riddle Normal file
View file

0
data/Y2023/D15/riddle Normal file
View file

0
data/Y2023/D16/riddle Normal file
View file

0
data/Y2023/D17/riddle Normal file
View file

0
data/Y2023/D18/riddle Normal file
View file

0
data/Y2023/D19/riddle Normal file
View file

0
data/Y2023/D20/riddle Normal file
View file

0
data/Y2023/D21/riddle Normal file
View file

0
data/Y2023/D22/riddle Normal file
View file

0
data/Y2023/D23/riddle Normal file
View file

0
data/Y2023/D24/riddle Normal file
View file

0
data/Y2023/D25/riddle Normal file
View file

View file

@ -12,11 +12,13 @@ import Control.Exception qualified as Exception
import System.IO (hPutStrLn)
import System.IO.Error qualified as IOError
-- import AoC.Y0000 qualified as Y0000
import AoC.Y2023 qualified as Y2023
runAoC :: [String] -> IO ()
runAoC _args =
putStrLn "Hello"
runAoC :: (MonadIO m) => [String] -> m ()
runAoC _args = do
riddle <- loadRiddle Y2023 D01
result <- Y2023.solve D01 riddle
print result
handleError :: IOError.IOError -> IO ()
handleError e = do

57
src/AoC/Y2023.hs Normal file
View file

@ -0,0 +1,57 @@
module AoC.Y2023 (solve) where
import AoC.Day
import AoC.Riddle
import AoC.Y2023.D01 qualified as D01
import AoC.Y2023.D02 qualified as D02
import AoC.Y2023.D03 qualified as D03
import AoC.Y2023.D04 qualified as D04
import AoC.Y2023.D05 qualified as D05
import AoC.Y2023.D06 qualified as D06
import AoC.Y2023.D07 qualified as D07
import AoC.Y2023.D08 qualified as D08
import AoC.Y2023.D09 qualified as D09
import AoC.Y2023.D10 qualified as D10
import AoC.Y2023.D11 qualified as D11
import AoC.Y2023.D12 qualified as D12
import AoC.Y2023.D13 qualified as D13
import AoC.Y2023.D14 qualified as D14
import AoC.Y2023.D15 qualified as D15
import AoC.Y2023.D16 qualified as D16
import AoC.Y2023.D17 qualified as D17
import AoC.Y2023.D18 qualified as D18
import AoC.Y2023.D19 qualified as D19
import AoC.Y2023.D20 qualified as D20
import AoC.Y2023.D21 qualified as D21
import AoC.Y2023.D22 qualified as D22
import AoC.Y2023.D23 qualified as D23
import AoC.Y2023.D24 qualified as D24
import AoC.Y2023.D25 qualified as D25
solve :: (MonadIO m) => Day -> Text -> m (Either Error Solution)
solve D01 = D01.solve
solve D02 = D02.solve
solve D03 = D03.solve
solve D04 = D04.solve
solve D05 = D05.solve
solve D06 = D06.solve
solve D07 = D07.solve
solve D08 = D08.solve
solve D09 = D09.solve
solve D10 = D10.solve
solve D11 = D11.solve
solve D12 = D12.solve
solve D13 = D13.solve
solve D14 = D14.solve
solve D15 = D15.solve
solve D16 = D16.solve
solve D17 = D17.solve
solve D18 = D18.solve
solve D19 = D19.solve
solve D20 = D20.solve
solve D21 = D21.solve
solve D22 = D22.solve
solve D23 = D23.solve
solve D24 = D24.solve
solve D25 = D25.solve

6
src/AoC/Y2023/D01.hs Normal file
View file

@ -0,0 +1,6 @@
module AoC.Y2023.D01 (solve) where
import AoC.Riddle
solve :: (MonadIO m) => Text -> m (Either Text Solution)
solve _ = pure $ Left "not yet implemented"

6
src/AoC/Y2023/D02.hs Normal file
View file

@ -0,0 +1,6 @@
module AoC.Y2023.D02 (solve) where
import AoC.Riddle
solve :: (MonadIO m) => Text -> m (Either Text Solution)
solve _ = pure $ Left "not yet implemented"

6
src/AoC/Y2023/D03.hs Normal file
View file

@ -0,0 +1,6 @@
module AoC.Y2023.D03 (solve) where
import AoC.Riddle
solve :: (MonadIO m) => Text -> m (Either Text Solution)
solve _ = pure $ Left "not yet implemented"

6
src/AoC/Y2023/D04.hs Normal file
View file

@ -0,0 +1,6 @@
module AoC.Y2023.D04 (solve) where
import AoC.Riddle
solve :: (MonadIO m) => Text -> m (Either Text Solution)
solve _ = pure $ Left "not yet implemented"

6
src/AoC/Y2023/D05.hs Normal file
View file

@ -0,0 +1,6 @@
module AoC.Y2023.D05 (solve) where
import AoC.Riddle
solve :: (MonadIO m) => Text -> m (Either Text Solution)
solve _ = pure $ Left "not yet implemented"

6
src/AoC/Y2023/D06.hs Normal file
View file

@ -0,0 +1,6 @@
module AoC.Y2023.D06 (solve) where
import AoC.Riddle
solve :: (MonadIO m) => Text -> m (Either Text Solution)
solve _ = pure $ Left "not yet implemented"

6
src/AoC/Y2023/D07.hs Normal file
View file

@ -0,0 +1,6 @@
module AoC.Y2023.D07 (solve) where
import AoC.Riddle
solve :: (MonadIO m) => Text -> m (Either Text Solution)
solve _ = pure $ Left "not yet implemented"

6
src/AoC/Y2023/D08.hs Normal file
View file

@ -0,0 +1,6 @@
module AoC.Y2023.D08 (solve) where
import AoC.Riddle
solve :: (MonadIO m) => Text -> m (Either Text Solution)
solve _ = pure $ Left "not yet implemented"

6
src/AoC/Y2023/D09.hs Normal file
View file

@ -0,0 +1,6 @@
module AoC.Y2023.D09 (solve) where
import AoC.Riddle
solve :: (MonadIO m) => Text -> m (Either Text Solution)
solve _ = pure $ Left "not yet implemented"

6
src/AoC/Y2023/D10.hs Normal file
View file

@ -0,0 +1,6 @@
module AoC.Y2023.D10 (solve) where
import AoC.Riddle
solve :: (MonadIO m) => Text -> m (Either Text Solution)
solve _ = pure $ Left "not yet implemented"

6
src/AoC/Y2023/D11.hs Normal file
View file

@ -0,0 +1,6 @@
module AoC.Y2023.D11 (solve) where
import AoC.Riddle
solve :: (MonadIO m) => Text -> m (Either Text Solution)
solve _ = pure $ Left "not yet implemented"

6
src/AoC/Y2023/D12.hs Normal file
View file

@ -0,0 +1,6 @@
module AoC.Y2023.D12 (solve) where
import AoC.Riddle
solve :: (MonadIO m) => Text -> m (Either Text Solution)
solve _ = pure $ Left "not yet implemented"

6
src/AoC/Y2023/D13.hs Normal file
View file

@ -0,0 +1,6 @@
module AoC.Y2023.D13 (solve) where
import AoC.Riddle
solve :: (MonadIO m) => Text -> m (Either Text Solution)
solve _ = pure $ Left "not yet implemented"

6
src/AoC/Y2023/D14.hs Normal file
View file

@ -0,0 +1,6 @@
module AoC.Y2023.D14 (solve) where
import AoC.Riddle
solve :: (MonadIO m) => Text -> m (Either Text Solution)
solve _ = pure $ Left "not yet implemented"

6
src/AoC/Y2023/D15.hs Normal file
View file

@ -0,0 +1,6 @@
module AoC.Y2023.D15 (solve) where
import AoC.Riddle
solve :: (MonadIO m) => Text -> m (Either Text Solution)
solve _ = pure $ Left "not yet implemented"

6
src/AoC/Y2023/D16.hs Normal file
View file

@ -0,0 +1,6 @@
module AoC.Y2023.D16 (solve) where
import AoC.Riddle
solve :: (MonadIO m) => Text -> m (Either Text Solution)
solve _ = pure $ Left "not yet implemented"

6
src/AoC/Y2023/D17.hs Normal file
View file

@ -0,0 +1,6 @@
module AoC.Y2023.D17 (solve) where
import AoC.Riddle
solve :: (MonadIO m) => Text -> m (Either Text Solution)
solve _ = pure $ Left "not yet implemented"

6
src/AoC/Y2023/D18.hs Normal file
View file

@ -0,0 +1,6 @@
module AoC.Y2023.D18 (solve) where
import AoC.Riddle
solve :: (MonadIO m) => Text -> m (Either Text Solution)
solve _ = pure $ Left "not yet implemented"

6
src/AoC/Y2023/D19.hs Normal file
View file

@ -0,0 +1,6 @@
module AoC.Y2023.D19 (solve) where
import AoC.Riddle
solve :: (MonadIO m) => Text -> m (Either Text Solution)
solve _ = pure $ Left "not yet implemented"

6
src/AoC/Y2023/D20.hs Normal file
View file

@ -0,0 +1,6 @@
module AoC.Y2023.D20 (solve) where
import AoC.Riddle
solve :: (MonadIO m) => Text -> m (Either Text Solution)
solve _ = pure $ Left "not yet implemented"

6
src/AoC/Y2023/D21.hs Normal file
View file

@ -0,0 +1,6 @@
module AoC.Y2023.D21 (solve) where
import AoC.Riddle
solve :: (MonadIO m) => Text -> m (Either Text Solution)
solve _ = pure $ Left "not yet implemented"

6
src/AoC/Y2023/D22.hs Normal file
View file

@ -0,0 +1,6 @@
module AoC.Y2023.D22 (solve) where
import AoC.Riddle
solve :: (MonadIO m) => Text -> m (Either Text Solution)
solve _ = pure $ Left "not yet implemented"

6
src/AoC/Y2023/D23.hs Normal file
View file

@ -0,0 +1,6 @@
module AoC.Y2023.D23 (solve) where
import AoC.Riddle
solve :: (MonadIO m) => Text -> m (Either Text Solution)
solve _ = pure $ Left "not yet implemented"

6
src/AoC/Y2023/D24.hs Normal file
View file

@ -0,0 +1,6 @@
module AoC.Y2023.D24 (solve) where
import AoC.Riddle
solve :: (MonadIO m) => Text -> m (Either Text Solution)
solve _ = pure $ Left "not yet implemented"

6
src/AoC/Y2023/D25.hs Normal file
View file

@ -0,0 +1,6 @@
module AoC.Y2023.D25 (solve) where
import AoC.Riddle
solve :: (MonadIO m) => Text -> m (Either Text Solution)
solve _ = pure $ Left "not yet implemented"

View file

@ -2,4 +2,5 @@ module AoC.Year (Year (..)) where
data Year
= Y0000
| Y2023
deriving stock (Read, Show, Eq, Ord, Enum)