Safe Haskell | None |
---|---|
Language | Haskell2010 |
Provides an example of the use of ruleTreeToTypes
. You will
want to look at the source code, as it has a Template Haskell
splice that produces all of the data types that you see in the
Haddocks.
- newtype Digit = Digit Char
- newtype Digit'Seq1 = Digit'Seq1 (Digit, Seq Digit)
- newtype Number = Number Digit'Seq1
- newtype Space = Space Char
- newtype North = North Char
- newtype South = South Char
- newtype East = East Char
- newtype West = West Char
- data Direction
- data DirectionSpace = DirectionSpace {}
- newtype DirectionSpace'Maybe = DirectionSpace'Maybe (Maybe DirectionSpace)
- newtype Letter = Letter Char
- data Letters
- data PostalWord = PostalWord {}
- data PreSpacedWord = PreSpacedWord {}
- newtype PreSpacedWord'Seq = PreSpacedWord'Seq (Seq PreSpacedWord)
- data Words = Words {}
- newtype StreetName = StreetName Words
- newtype Street = Street (Seq Char)
- newtype Avenue = Avenue (Seq Char)
- newtype Way = Way (Seq Char)
- newtype Boulevard = Boulevard (Seq Char)
- data Suffix
- data SpaceSuffix = SpaceSuffix {}
- newtype SpaceSuffix'Maybe = SpaceSuffix'Maybe (Maybe SpaceSuffix)
- newtype Comma = Comma Char
- newtype City = City Words
- newtype State = State PostalWord
- newtype ZipCode = ZipCode Digit'Seq1
- data Address = Address {
- _r'Address'0'Number :: Number
- _r'Address'1'Space :: Space
- _r'Address'2'DirectionSpace'Maybe :: DirectionSpace'Maybe
- _r'Address'3'StreetName :: StreetName
- _r'Address'4'SpaceSuffix'Maybe :: SpaceSuffix'Maybe
- _r'Address'5'Comma :: Comma
- _r'Address'6'Space :: Space
- _r'Address'7'City :: City
- _r'Address'8'Comma :: Comma
- _r'Address'9'Space :: Space
- _r'Address'10'State :: State
- _r'Address'11'Space :: Space
- _r'Address'12'ZipCode :: ZipCode
- _Comma :: Prism' Char Comma
- _Boulevard :: Prism' (Seq Char) Boulevard
- _Way :: Prism' (Seq Char) Way
- _Avenue :: Prism' (Seq Char) Avenue
- _Street :: Prism' (Seq Char) Street
- _Suffix'Boulevard :: Prism' Suffix Boulevard
- _Suffix'Way :: Prism' Suffix Way
- _Suffix'Avenue :: Prism' Suffix Avenue
- _Suffix'Street :: Prism' Suffix Street
- r'SpaceSuffix'1'Suffix :: Lens' SpaceSuffix Suffix
- r'SpaceSuffix'0'Space :: Lens' SpaceSuffix Space
- r'PreSpacedWord'1'PostalWord :: Lens' PreSpacedWord PostalWord
- r'PreSpacedWord'0'Space :: Lens' PreSpacedWord Space
- _ConsLetter :: Prism' Letters (Letter, Letters)
- _NoLetter :: Prism' Letters ()
- _Letter :: Prism' Char Letter
- r'PostalWord'1'Letters :: Lens' PostalWord Letters
- r'PostalWord'0'Letter :: Lens' PostalWord Letter
- r'Words'1'PreSpacedWord'Seq :: Lens' Words PreSpacedWord'Seq
- r'Words'0'PostalWord :: Lens' Words PostalWord
- _West :: Prism' Char West
- _East :: Prism' Char East
- _South :: Prism' Char South
- _North :: Prism' Char North
- _Direction'West :: Prism' Direction West
- _Direction'East :: Prism' Direction East
- _Direction'South :: Prism' Direction South
- _Direction'North :: Prism' Direction North
- r'DirectionSpace'1'Space :: Lens' DirectionSpace Space
- r'DirectionSpace'0'Direction :: Lens' DirectionSpace Direction
- _Space :: Prism' Char Space
- _Digit :: Prism' Char Digit
- r'Address'12'ZipCode :: Lens' Address ZipCode
- r'Address'11'Space :: Lens' Address Space
- r'Address'10'State :: Lens' Address State
- r'Address'9'Space :: Lens' Address Space
- r'Address'8'Comma :: Lens' Address Comma
- r'Address'7'City :: Lens' Address City
- r'Address'6'Space :: Lens' Address Space
- r'Address'5'Comma :: Lens' Address Comma
- r'Address'4'SpaceSuffix'Maybe :: Lens' Address SpaceSuffix'Maybe
- r'Address'3'StreetName :: Lens' Address StreetName
- r'Address'2'DirectionSpace'Maybe :: Lens' Address DirectionSpace'Maybe
- r'Address'1'Space :: Lens' Address Space
- r'Address'0'Number :: Lens' Address Number
- t'Comma :: Comma -> Seq Char
- t'Boulevard :: Boulevard -> Seq Char
- t'Way :: Way -> Seq Char
- t'Avenue :: Avenue -> Seq Char
- t'Street :: Street -> Seq Char
- t'Suffix :: Suffix -> Seq Char
- t'Letter :: Letter -> Seq Char
- t'Letters :: Letters -> Seq Char
- t'PostalWord :: PostalWord -> Seq Char
- t'State :: State -> Seq Char
- t'West :: West -> Seq Char
- t'East :: East -> Seq Char
- t'South :: South -> Seq Char
- t'North :: North -> Seq Char
- t'Direction :: Direction -> Seq Char
- t'Space :: Space -> Seq Char
- t'DirectionSpace :: DirectionSpace -> Seq Char
- t'DirectionSpace'Maybe :: DirectionSpace'Maybe -> Seq Char
- t'PreSpacedWord :: PreSpacedWord -> Seq Char
- t'PreSpacedWord'Seq :: PreSpacedWord'Seq -> Seq Char
- t'Words :: Words -> Seq Char
- t'StreetName :: StreetName -> Seq Char
- t'City :: City -> Seq Char
- t'SpaceSuffix :: SpaceSuffix -> Seq Char
- t'SpaceSuffix'Maybe :: SpaceSuffix'Maybe -> Seq Char
- t'Digit :: Digit -> Seq Char
- t'Digit'Seq1 :: Digit'Seq1 -> Seq Char
- t'ZipCode :: ZipCode -> Seq Char
- t'Number :: Number -> Seq Char
- t'Address :: Address -> Seq Char
- postalGrammar :: Grammar r (Prod r String Char Address)
Documentation
newtype Digit'Seq1 Source
Digit'Seq1 (Digit, Seq Digit) |
data DirectionSpace Source
newtype DirectionSpace'Maybe Source
data PostalWord Source
data PreSpacedWord Source
newtype PreSpacedWord'Seq Source
newtype StreetName Source
data SpaceSuffix Source
newtype SpaceSuffix'Maybe Source
t'Boulevard :: Boulevard -> Seq Char Source
t'PostalWord :: PostalWord -> Seq Char Source
t'Direction :: Direction -> Seq Char Source
t'StreetName :: StreetName -> Seq Char Source
t'SpaceSuffix :: SpaceSuffix -> Seq Char Source
t'Digit'Seq1 :: Digit'Seq1 -> Seq Char Source