Safe Haskell | None |
---|---|
Language | Haskell2010 |
Provides an example of ruleTreeToTypes
, but unlike
Pinchot.Examples.PostalAstAllRules, does not make optics.
- newtype Digit = Digit Char
- newtype Digits = Digits (Digit, Seq Digit)
- newtype Letter = Letter Char
- newtype North = North Char
- newtype South = South Char
- newtype East = East Char
- newtype West = West Char
- data Direction
- newtype Street = Street (Seq Char)
- newtype Avenue = Avenue (Seq Char)
- newtype Way = Way (Seq Char)
- newtype Boulevard = Boulevard (Seq Char)
- data Suffix
- newtype Space = Space Char
- newtype Comma = Comma Char
- data Letters
- data PostalWord = PostalWord {}
- data PreSpacedWord = PreSpacedWord Space PostalWord
- newtype PreSpacedWords = PreSpacedWords (Seq PreSpacedWord)
- data Words = Words PostalWord PreSpacedWords
- newtype Number = Number Digits
- newtype StreetName = StreetName Words
- newtype City = City Words
- newtype State = State PostalWord
- newtype ZipCode = ZipCode Digits
- data DirectionSpace = DirectionSpace Direction Space
- data SpaceSuffix = SpaceSuffix Space Suffix
- newtype MaybeDirection = MaybeDirection (Maybe DirectionSpace)
- newtype MaybeSuffix = MaybeSuffix (Maybe SpaceSuffix)
- data Address = Address {
- _f'Address'0'Number :: Number
- _f'Address'1'Space :: Space
- _f'Address'2'MaybeDirection :: MaybeDirection
- _f'Address'3'StreetName :: StreetName
- _f'Address'4'MaybeSuffix :: MaybeSuffix
- _f'Address'5'Comma :: Comma
- _f'Address'6'Space :: Space
- _f'Address'7'City :: City
- _f'Address'8'Comma :: Comma
- _f'Address'9'Space :: Space
- _f'Address'10'State :: State
- _f'Address'11'Space :: Space
- _f'Address'12'ZipCode :: ZipCode
- postalGrammar :: Grammar r (Prod r String Char Address)
Documentation
data PostalWord Source
data PreSpacedWord Source
newtype PreSpacedWords Source
newtype StreetName Source
data DirectionSpace Source
data SpaceSuffix Source
newtype MaybeDirection Source
newtype MaybeSuffix Source