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 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
- f'Address'12'ZipCode :: Lens' Address ZipCode
- f'Address'11'Space :: Lens' Address Space
- f'Address'10'State :: Lens' Address State
- f'Address'9'Space :: Lens' Address Space
- f'Address'8'Comma :: Lens' Address Comma
- f'Address'7'City :: Lens' Address City
- f'Address'6'Space :: Lens' Address Space
- f'Address'5'Comma :: Lens' Address Comma
- f'Address'4'MaybeSuffix :: Lens' Address MaybeSuffix
- f'Address'3'StreetName :: Lens' Address StreetName
- f'Address'2'MaybeDirection :: Lens' Address MaybeDirection
- f'Address'1'Space :: Lens' Address Space
- f'Address'0'Number :: Lens' Address Number
- _SpaceSuffix :: Prism' SpaceSuffix (Space, Suffix)
- _DirectionSpace :: Prism' DirectionSpace (Direction, Space)
- _Words :: Prism' Words (PostalWord, PreSpacedWords)
- _PreSpacedWord :: Prism' PreSpacedWord (Space, PostalWord)
- f'PostalWord'1'Letters :: Lens' PostalWord Letters
- f'PostalWord'0'Letter :: Lens' PostalWord Letter
- _ConsLetter :: Prism' Letters (Letter, Letters)
- _NoLetter :: Prism' Letters ()
- _Comma :: Prism' Char Comma
- _Space :: Prism' Char Space
- _SBoulevard :: Prism' Suffix Boulevard
- _SWay :: Prism' Suffix Way
- _SAvenue :: Prism' Suffix Avenue
- _SStreet :: Prism' Suffix Street
- _Boulevard :: Prism' (Seq Char) Boulevard
- _Way :: Prism' (Seq Char) Way
- _Avenue :: Prism' (Seq Char) Avenue
- _Street :: Prism' (Seq Char) Street
- _DWest :: Prism' Direction West
- _DEast :: Prism' Direction East
- _DSouth :: Prism' Direction South
- _DNorth :: Prism' Direction North
- _West :: Prism' Char West
- _East :: Prism' Char East
- _South :: Prism' Char South
- _North :: Prism' Char North
- _Letter :: Prism' Char Letter
- _Digit :: Prism' Char Digit
- 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