Add 2023 template
This commit is contained in:
parent
cf2af11b6b
commit
d06f469bb7
54 changed files with 240 additions and 4 deletions
26
aoc.cabal
26
aoc.cabal
|
|
@ -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
0
data/Y2023/D01/riddle
Normal file
0
data/Y2023/D02/riddle
Normal file
0
data/Y2023/D02/riddle
Normal file
0
data/Y2023/D03/riddle
Normal file
0
data/Y2023/D03/riddle
Normal file
0
data/Y2023/D04/riddle
Normal file
0
data/Y2023/D04/riddle
Normal file
0
data/Y2023/D05/riddle
Normal file
0
data/Y2023/D05/riddle
Normal file
0
data/Y2023/D06/riddle
Normal file
0
data/Y2023/D06/riddle
Normal file
0
data/Y2023/D07/riddle
Normal file
0
data/Y2023/D07/riddle
Normal file
0
data/Y2023/D08/riddle
Normal file
0
data/Y2023/D08/riddle
Normal file
0
data/Y2023/D09/riddle
Normal file
0
data/Y2023/D09/riddle
Normal file
0
data/Y2023/D10/riddle
Normal file
0
data/Y2023/D10/riddle
Normal file
0
data/Y2023/D11/riddle
Normal file
0
data/Y2023/D11/riddle
Normal file
0
data/Y2023/D12/riddle
Normal file
0
data/Y2023/D12/riddle
Normal file
0
data/Y2023/D13/riddle
Normal file
0
data/Y2023/D13/riddle
Normal file
0
data/Y2023/D14/riddle
Normal file
0
data/Y2023/D14/riddle
Normal file
0
data/Y2023/D15/riddle
Normal file
0
data/Y2023/D15/riddle
Normal file
0
data/Y2023/D16/riddle
Normal file
0
data/Y2023/D16/riddle
Normal file
0
data/Y2023/D17/riddle
Normal file
0
data/Y2023/D17/riddle
Normal file
0
data/Y2023/D18/riddle
Normal file
0
data/Y2023/D18/riddle
Normal file
0
data/Y2023/D19/riddle
Normal file
0
data/Y2023/D19/riddle
Normal file
0
data/Y2023/D20/riddle
Normal file
0
data/Y2023/D20/riddle
Normal file
0
data/Y2023/D21/riddle
Normal file
0
data/Y2023/D21/riddle
Normal file
0
data/Y2023/D22/riddle
Normal file
0
data/Y2023/D22/riddle
Normal file
0
data/Y2023/D23/riddle
Normal file
0
data/Y2023/D23/riddle
Normal file
0
data/Y2023/D24/riddle
Normal file
0
data/Y2023/D24/riddle
Normal file
0
data/Y2023/D25/riddle
Normal file
0
data/Y2023/D25/riddle
Normal file
10
src/AoC.hs
10
src/AoC.hs
|
|
@ -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
57
src/AoC/Y2023.hs
Normal 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
6
src/AoC/Y2023/D01.hs
Normal 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
6
src/AoC/Y2023/D02.hs
Normal 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
6
src/AoC/Y2023/D03.hs
Normal 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
6
src/AoC/Y2023/D04.hs
Normal 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
6
src/AoC/Y2023/D05.hs
Normal 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
6
src/AoC/Y2023/D06.hs
Normal 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
6
src/AoC/Y2023/D07.hs
Normal 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
6
src/AoC/Y2023/D08.hs
Normal 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
6
src/AoC/Y2023/D09.hs
Normal 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
6
src/AoC/Y2023/D10.hs
Normal 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
6
src/AoC/Y2023/D11.hs
Normal 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
6
src/AoC/Y2023/D12.hs
Normal 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
6
src/AoC/Y2023/D13.hs
Normal 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
6
src/AoC/Y2023/D14.hs
Normal 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
6
src/AoC/Y2023/D15.hs
Normal 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
6
src/AoC/Y2023/D16.hs
Normal 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
6
src/AoC/Y2023/D17.hs
Normal 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
6
src/AoC/Y2023/D18.hs
Normal 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
6
src/AoC/Y2023/D19.hs
Normal 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
6
src/AoC/Y2023/D20.hs
Normal 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
6
src/AoC/Y2023/D21.hs
Normal 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
6
src/AoC/Y2023/D22.hs
Normal 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
6
src/AoC/Y2023/D23.hs
Normal 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
6
src/AoC/Y2023/D24.hs
Normal 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
6
src/AoC/Y2023/D25.hs
Normal 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"
|
||||
|
|
@ -2,4 +2,5 @@ module AoC.Year (Year (..)) where
|
|||
|
||||
data Year
|
||||
= Y0000
|
||||
| Y2023
|
||||
deriving stock (Read, Show, Eq, Ord, Enum)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue