29 lines
595 B
Haskell
29 lines
595 B
Haskell
module AoC.Riddle (
|
|
Riddle,
|
|
Error,
|
|
Solution,
|
|
loadRiddle,
|
|
loadExample,
|
|
module AoC.Day,
|
|
module AoC.Year,
|
|
) where
|
|
|
|
import AoC.Util (readFileUtf8)
|
|
|
|
import AoC.Day
|
|
import AoC.Year
|
|
|
|
type Riddle = Text
|
|
type Error = Text
|
|
type Solution = [Integer]
|
|
|
|
loadRiddle :: (MonadIO m) => Year -> Day -> m Riddle
|
|
loadRiddle = loadFile "riddle"
|
|
|
|
loadExample :: (MonadIO m) => Year -> Day -> m Riddle
|
|
loadExample = loadFile "example"
|
|
|
|
loadFile :: (MonadIO m) => FilePath -> Year -> Day -> m Riddle
|
|
loadFile f y d = readFileUtf8 inputFile
|
|
where
|
|
inputFile = intercalate "/" ["data", show y, show d, f]
|