2025-12-02 15:19:11 +00:00
|
|
|
module Puzzle where
|
|
|
|
|
|
|
|
|
|
import Data.Text (Text)
|
|
|
|
|
import Data.Void
|
2025-12-04 20:11:16 +00:00
|
|
|
import Test.Tasty
|
2025-12-02 15:19:11 +00:00
|
|
|
import Text.Megaparsec
|
|
|
|
|
|
|
|
|
|
data Puzzle = forall input. Puzzle
|
|
|
|
|
{ number :: Word
|
|
|
|
|
, parser :: Parsec Void Text input
|
|
|
|
|
, parts :: [input -> Text]
|
2025-12-04 20:11:16 +00:00
|
|
|
, extraTests :: [TestTree]
|
2025-12-02 15:19:11 +00:00
|
|
|
}
|