Safe Haskell | None |
---|---|
Language | Haskell98 |
- type Path = [String]
- field :: Path -> Value -> Parser Value
- parseFrom :: Path -> (Value -> Parser b) -> Value -> Parser b
- class FromChar a where
- failChar :: Char -> String -> Parser a
- class FromString a where
- parseString :: String -> Parser a
- parseLine :: FromChar a => String -> Parser [a]
- newtype Alpha = Alpha {}
- newtype IntString = IntString {}
- data Rect a = Rect !Int !Int [[a]]
- data Border a = Border [a] [a] [a] [a]
- data BorderedRect a b = BorderedRect !Int !Int [[a]] (Border b)
- newtype SpacedRect a = SpacedRect {}
- data Space = Space
- data Blank = Blank
- data Blank' = Blank'
- data Empty = Empty
- parseCharJSON :: FromChar a => Value -> Parser a
- data PlainNode = PlainNode
- newtype Either' a b = Either' {}
- listListToMap :: [[a]] -> Map (Cell Square) a
- rectToSGrid :: Rect a -> SGrid a
- blankToMaybe :: Either Blank a -> Maybe a
- blankToMaybe' :: Either Blank' a -> Maybe a
- rectToClueGrid :: Rect (Either Blank a) -> SGrid (Clue a)
- rectToClueGrid' :: Rect (Either Blank' a) -> SGrid (Clue a)
- rectToIrregGrid :: Rect (Either Empty a) -> SGrid a
- newtype Shaded = Shaded {}
- parseShadedGrid :: Value -> Parser (SGrid Bool)
- parseGrid :: FromChar a => Value -> Parser (SGrid a)
- parseGridWith :: (Char -> Parser a) -> Value -> Parser (SGrid a)
- parseWithReplacement :: FromChar a => (Char -> Maybe a) -> Char -> Parser a
- parseCharMap :: FromJSON a => Value -> Parser (Map Char a)
- parseExtGrid :: (FromChar a, FromJSON a) => Value -> Parser (SGrid a)
- parseClueGrid :: FromChar a => Value -> Parser (SGrid (Clue a))
- parseClueGrid' :: FromChar a => Value -> Parser (SGrid (Clue a))
- parseIrregGrid :: FromChar a => Value -> Parser (SGrid a)
- parseSpacedClueGrid :: FromString a => Value -> Parser (SGrid (Clue a))
- parsePlainEdges :: Value -> Parser [Edge]
- readEdges :: SGrid Char -> [Edge]
- parseGridChars :: FromChar a => SGrid Char -> Parser (SGrid a)
- parseEdgeGrid :: (FromChar a, FromChar b) => Value -> Parser (SGrid a, SGrid b, [Edge])
- parseNodeEdges :: FromChar a => Value -> Parser (SGrid a, [Edge])
- parseCellEdges :: FromChar a => Value -> Parser (SGrid a, [Edge])
- data HalfDirs = HalfDirs {
- unHalfDirs :: [Dir]
- parseEdges :: Value -> Parser [Edge]
- type ThermoRect = Rect (Either Blank (Either Int Alpha))
- partitionEithers :: Ord k => Map k (Either a b) -> (Map k a, Map k b)
- parseThermos :: SGrid Alpha -> Parser [Thermometer]
- parseThermoGrid :: ThermoRect -> Parser (SGrid Int, [Thermometer])
- newtype Tight = Tight {}
- parseTightOutside :: Value -> Parser (OutsideClues (Maybe Int), SGrid (Tightfit ()))
- parseTightIntGrid :: Value -> Parser (SGrid (Tightfit Int))
- newtype PMarkedWord = PMW {
- unPMW :: MarkedWord
- parseNWords :: Int -> String -> Parser [String]
- newtype PCompassC = PCC {}
- newtype RefGrid a = RefGrid {}
- data Ref = Ref {}
- hashmaptomap :: (Eq a, Hashable a, Ord a) => HashMap a b -> Map a b
- compose :: (Ord a, Ord b) => Map a b -> Map b c -> Maybe (Map a c)
- parseAfternoonGrid :: Value -> Parser (SGrid Shade)
- newtype ParseTapaClue = ParseTapaClue {}
- reorientOutside :: OutsideClues a -> OutsideClues a
- parseCharOutside :: FromChar a => Value -> Parser (OutsideClues a)
- parseOutside :: FromJSON a => Value -> Parser (OutsideClues a)
- parseMultiOutsideClues :: FromJSON a => Value -> Parser (OutsideClues [a])
Documentation
FromChar Char | |
FromChar Int | |
FromChar Crossing | |
FromChar Black | |
FromChar PrimeDiag | |
FromChar SlalomDiag | |
FromChar MasyuPearl | |
FromChar Ref | |
FromChar Tight | |
FromChar HalfDirs | |
FromChar Shaded | |
FromChar PlainNode | |
FromChar Empty | |
FromChar Blank' | |
FromChar Blank | |
FromChar Space | |
FromChar Alpha | |
FromChar a => FromChar (Maybe a) | |
(FromChar a, FromChar b) => FromChar (Either a b) | |
(FromChar a, FromChar b) => FromChar (Either' a b) |
class FromString a where Source
parseString :: String -> Parser a Source
FromString Int | |
FromString Blank | |
FromChar a => FromString (Tightfit a) | |
(FromString a, FromString b) => FromString (Either a b) |
Helper to parse strings from number-formatted YAML fields. Somewhat dodgy.
A rectangle. Each row has length w
.
Border [a] [a] [a] [a] |
data BorderedRect a b Source
BorderedRect !Int !Int [[a]] (Border b) |
(Show a, Show b) => Show (BorderedRect a b) | |
(FromChar a, FromChar b) => FromJSON (BorderedRect a b) |
parseCharJSON :: FromChar a => Value -> Parser a Source
listListToMap :: [[a]] -> Map (Cell Square) a Source
rectToSGrid :: Rect a -> SGrid a Source
blankToMaybe :: Either Blank a -> Maybe a Source
blankToMaybe' :: Either Blank' a -> Maybe a Source
parseSpacedClueGrid :: FromString a => Value -> Parser (SGrid (Clue a)) Source
parsePlainEdges :: Value -> Parser [Edge] Source
parseEdgeGrid :: (FromChar a, FromChar b) => Value -> Parser (SGrid a, SGrid b, [Edge]) Source
Parse a grid with edges and values at nodes and in cells.
E.g. o-*-*-o |1|2 3 *-o to a grid of masyu pearls, a grid of integers, and some edges.
parseNodeEdges :: FromChar a => Value -> Parser (SGrid a, [Edge]) Source
Parse a grid of edges with values at the nodes.
E.g. o-*-*-o | | *-o to a grid of masyu pearls and some edges.
parseEdges :: Value -> Parser [Edge] Source
parseThermos :: SGrid Alpha -> Parser [Thermometer] Source
parseThermoGrid :: ThermoRect -> Parser (SGrid Int, [Thermometer]) Source
parseTightOutside :: Value -> Parser (OutsideClues (Maybe Int), SGrid (Tightfit ())) Source
reorientOutside :: OutsideClues a -> OutsideClues a Source
parseCharOutside :: FromChar a => Value -> Parser (OutsideClues a) Source
parseOutside :: FromJSON a => Value -> Parser (OutsideClues a) Source
parseMultiOutsideClues :: FromJSON a => Value -> Parser (OutsideClues [a]) Source