Copyright | (c) Justin Le 2018 |
---|---|
License | BSD3 |
Maintainer | justin@jle.im |
Stability | experimental |
Portability | non-portable |
Safe Haskell | None |
Language | Haskell2010 |
AOC.Challenge
Description
Gather together all challenges and collect them into a single map.
Synopsis
- module AOC.Challenge.Day25
- module AOC.Challenge.Day24
- module AOC.Challenge.Day23
- module AOC.Challenge.Day22
- module AOC.Challenge.Day21
- module AOC.Challenge.Day20
- module AOC.Challenge.Day19
- module AOC.Challenge.Day18
- module AOC.Challenge.Day17
- module AOC.Challenge.Day16
- module AOC.Challenge.Day15
- module AOC.Challenge.Day14
- module AOC.Challenge.Day13
- module AOC.Challenge.Day12
- module AOC.Challenge.Day11
- module AOC.Challenge.Day10
- module AOC.Challenge.Day09
- module AOC.Challenge.Day08
- module AOC.Challenge.Day07
- module AOC.Challenge.Day06
- module AOC.Challenge.Day05
- module AOC.Challenge.Day04
- module AOC.Challenge.Day03
- module AOC.Challenge.Day02
- module AOC.Challenge.Day01
- type ChallengeMap = Map Day (Map Part SomeSolution)
- data ChallengeSpec = CS {}
- data Part
- challengeMap :: ChallengeMap
- lookupSolution :: ChallengeSpec -> Map Day (Map Part a) -> Maybe a
- newtype Day = Day {}
- dayInt :: Day -> Integer
- mkDay :: Integer -> Maybe Day
- mkDay_ :: Integer -> Day
- solSpec :: Name -> ChallengeSpec
- charPart :: Char -> Maybe Part
Documentation
module AOC.Challenge.Day25
module AOC.Challenge.Day24
module AOC.Challenge.Day23
module AOC.Challenge.Day22
module AOC.Challenge.Day21
module AOC.Challenge.Day20
module AOC.Challenge.Day19
module AOC.Challenge.Day18
module AOC.Challenge.Day17
module AOC.Challenge.Day16
module AOC.Challenge.Day15
module AOC.Challenge.Day14
module AOC.Challenge.Day13
module AOC.Challenge.Day12
module AOC.Challenge.Day11
module AOC.Challenge.Day10
module AOC.Challenge.Day09
module AOC.Challenge.Day08
module AOC.Challenge.Day07
module AOC.Challenge.Day06
module AOC.Challenge.Day05
module AOC.Challenge.Day04
module AOC.Challenge.Day03
module AOC.Challenge.Day02
module AOC.Challenge.Day01
type ChallengeMap = Map Day (Map Part SomeSolution) Source #
A map of days to parts to solutions.
data ChallengeSpec Source #
A specification for a specific challenge. Should consist of a day and a lowercase character.
Instances
Eq ChallengeSpec Source # | |
Defined in AOC.Discover Methods (==) :: ChallengeSpec -> ChallengeSpec -> Bool # (/=) :: ChallengeSpec -> ChallengeSpec -> Bool # | |
Ord ChallengeSpec Source # | |
Defined in AOC.Discover Methods compare :: ChallengeSpec -> ChallengeSpec -> Ordering # (<) :: ChallengeSpec -> ChallengeSpec -> Bool # (<=) :: ChallengeSpec -> ChallengeSpec -> Bool # (>) :: ChallengeSpec -> ChallengeSpec -> Bool # (>=) :: ChallengeSpec -> ChallengeSpec -> Bool # max :: ChallengeSpec -> ChallengeSpec -> ChallengeSpec # min :: ChallengeSpec -> ChallengeSpec -> ChallengeSpec # | |
Show ChallengeSpec Source # | |
Defined in AOC.Discover Methods showsPrec :: Int -> ChallengeSpec -> ShowS # show :: ChallengeSpec -> String # showList :: [ChallengeSpec] -> ShowS # | |
IsString ChallengeSpec Source # | |
Defined in AOC.Discover Methods fromString :: String -> ChallengeSpec # |
Instances
Bounded Part | |
Enum Part | |
Eq Part | |
Ord Part | |
Read Part | |
Show Part | |
Generic Part | |
FromJSON Part | |
Defined in Advent.Types | |
ToJSON Part | |
Defined in Advent.Types Methods toEncoding :: Part -> Encoding toJSONList :: [Part] -> Value toEncodingList :: [Part] -> Encoding | |
FromJSONKey Part | |
Defined in Advent.Types | |
ToJSONKey Part | |
Defined in Advent.Types | |
ToHttpApiData Part | |
Defined in Advent.Types Methods toUrlPiece :: Part -> Text toEncodedUrlPiece :: Part -> Builder toHeader :: Part -> ByteString toQueryParam :: Part -> Text | |
type Rep Part | |
challengeMap :: ChallengeMap Source #
A map of all challenges.
lookupSolution :: ChallengeSpec -> Map Day (Map Part a) -> Maybe a Source #
Lookup up a solution from a ChallengeMap
Instances
Bounded Day | |
Enum Day | |
Eq Day | |
Ord Day | |
Show Day | |
Generic Day | |
FromJSON Day | |
Defined in Advent.Types | |
ToJSON Day | |
Defined in Advent.Types | |
FromJSONKey Day | |
Defined in Advent.Types | |
ToJSONKey Day | |
Defined in Advent.Types | |
ToHttpApiData Day | |
Defined in Advent.Types Methods toUrlPiece :: Day -> Text toEncodedUrlPiece :: Day -> Builder toHeader :: Day -> ByteString toQueryParam :: Day -> Text | |
type Rep Day | |
Defined in Advent.Types |
solSpec :: Name -> ChallengeSpec Source #
Get a ChallengeSpec
from a given reified solution (name).
solSpec 'day02a == CS { _csDay = 1, _csPart = a
}