Safe Haskell | None |
---|---|
Language | Haskell2010 |
Pinchot.Examples.RulesToOptics
Description
This module shows how to use Template Haskell to generate optics (lenses, prisms, and isos) for the rules in your grammar. You will want to look at the source code, as the Haddocks will show the generated types but it will not show the Template Haskell used to generate them.
Documentation
r'ZipCode'4'Digit :: forall t a. Lens' (ZipCode t a) (Digit t a) Source
r'ZipCode'3'Digit :: forall t a. Lens' (ZipCode t a) (Digit t a) Source
r'ZipCode'2'Digit :: forall t a. Lens' (ZipCode t a) (Digit t a) Source
r'ZipCode'1'Digit :: forall t a. Lens' (ZipCode t a) (Digit t a) Source
r'ZipCode'0'Digit :: forall t a. Lens' (ZipCode t a) (Digit t a) Source
r'CityLine'6'Newline'Opt :: forall t a. Lens' (CityLine t a) (Newline'Opt t a) Source
r'CityLine'5'ZipCode :: forall t a. Lens' (CityLine t a) (ZipCode t a) Source
r'CityLine'4'Space :: forall t a. Lens' (CityLine t a) (Space t a) Source
r'CityLine'3'State :: forall t a. Lens' (CityLine t a) (State t a) Source
r'CityLine'2'Space :: forall t a. Lens' (CityLine t a) (Space t a) Source
r'CityLine'1'Comma :: forall t a. Lens' (CityLine t a) (Comma t a) Source
r'CityLine'0'City :: forall t a. Lens' (CityLine t a) (City t a) Source
_Boulevard'3 :: forall a. Prism' (Char, a) (Boulevard'3 Char a) Source
_Boulevard'2 :: forall a. Prism' (Char, a) (Boulevard'2 Char a) Source
_Boulevard'1 :: forall a. Prism' (Char, a) (Boulevard'1 Char a) Source
_Boulevard'0 :: forall a. Prism' (Char, a) (Boulevard'0 Char a) Source
r'Boulevard'3'Boulevard'3 :: forall t a. Lens' (Boulevard t a) (Boulevard'3 t a) Source
r'Boulevard'2'Boulevard'2 :: forall t a. Lens' (Boulevard t a) (Boulevard'2 t a) Source
r'Boulevard'1'Boulevard'1 :: forall t a. Lens' (Boulevard t a) (Boulevard'1 t a) Source
r'Boulevard'0'Boulevard'0 :: forall t a. Lens' (Boulevard t a) (Boulevard'0 t a) Source
r'Way'2'Way'2 :: forall t a. Lens' (Way t a) (Way'2 t a) Source
r'Way'1'Way'1 :: forall t a. Lens' (Way t a) (Way'1 t a) Source
r'Way'0'Way'0 :: forall t a. Lens' (Way t a) (Way'0 t a) Source
r'Avenue'2'Avenue'2 :: forall t a. Lens' (Avenue t a) (Avenue'2 t a) Source
r'Avenue'1'Avenue'1 :: forall t a. Lens' (Avenue t a) (Avenue'1 t a) Source
r'Avenue'0'Avenue'0 :: forall t a. Lens' (Avenue t a) (Avenue'0 t a) Source
r'Street'1'Street'1 :: forall t a. Lens' (Street t a) (Street'1 t a) Source
r'Street'0'Street'0 :: forall t a. Lens' (Street t a) (Street'0 t a) Source
_Suffix'Boulevard :: forall t a. Prism' (Suffix t a) (Boulevard t a) Source
_Suffix'Way :: forall t a. Prism' (Suffix t a) (Way t a) Source
_Suffix'Avenue :: forall t a. Prism' (Suffix t a) (Avenue t a) Source
_Suffix'Street :: forall t a. Prism' (Suffix t a) (Street t a) Source
r'SpaceSuffix'1'Suffix :: forall t a. Lens' (SpaceSuffix t a) (Suffix t a) Source
r'SpaceSuffix'0'Space :: forall t a. Lens' (SpaceSuffix t a) (Space t a) Source
r'SW'1'SW'1 :: forall t a. Lens' (SW t a) (SW'1 t a) Source
r'SW'0'SW'0 :: forall t a. Lens' (SW t a) (SW'0 t a) Source
r'SE'1'SE'1 :: forall t a. Lens' (SE t a) (SE'1 t a) Source
r'SE'0'SE'0 :: forall t a. Lens' (SE t a) (SE'0 t a) Source
r'NW'1'NW'1 :: forall t a. Lens' (NW t a) (NW'1 t a) Source
r'NW'0'NW'0 :: forall t a. Lens' (NW t a) (NW'0 t a) Source
r'NE'1'NE'1 :: forall t a. Lens' (NE t a) (NE'1 t a) Source
r'NE'0'NE'0 :: forall t a. Lens' (NE t a) (NE'0 t a) Source
_Direction'SW :: forall t a. Prism' (Direction t a) (SW t a) Source
_Direction'SE :: forall t a. Prism' (Direction t a) (SE t a) Source
_Direction'NW :: forall t a. Prism' (Direction t a) (NW t a) Source
_Direction'NE :: forall t a. Prism' (Direction t a) (NE t a) Source
_Direction'West :: forall t a. Prism' (Direction t a) (West t a) Source
_Direction'East :: forall t a. Prism' (Direction t a) (East t a) Source
_Direction'South :: forall t a. Prism' (Direction t a) (South t a) Source
_Direction'North :: forall t a. Prism' (Direction t a) (North t a) Source
r'DirectionSpace'1'Space :: forall t a. Lens' (DirectionSpace t a) (Space t a) Source
r'DirectionSpace'0'Direction :: forall t a. Lens' (DirectionSpace t a) (Direction t a) Source
r'StreetLine'5'Separator :: forall t a. Lens' (StreetLine t a) (Separator t a) Source
r'StreetLine'4'SpaceSuffix'Opt :: forall t a. Lens' (StreetLine t a) (SpaceSuffix'Opt t a) Source
r'StreetLine'3'StreetName :: forall t a. Lens' (StreetLine t a) (StreetName t a) Source
r'StreetLine'2'DirectionSpace'Opt :: forall t a. Lens' (StreetLine t a) (DirectionSpace'Opt t a) Source
r'StreetLine'1'Space :: forall t a. Lens' (StreetLine t a) (Space t a) Source
r'StreetLine'0'Number :: forall t a. Lens' (StreetLine t a) (Number t a) Source
r'CommaSpace'1'Space :: forall t a. Lens' (CommaSpace t a) (Space t a) Source
r'CommaSpace'0'Comma :: forall t a. Lens' (CommaSpace t a) (Comma t a) Source
_Separator'Newline :: forall t a. Prism' (Separator t a) (Newline t a) Source
_Separator'CommaSpace :: forall t a. Prism' (Separator t a) (CommaSpace t a) Source
r'PreSpacedWord'1'PostalWord :: forall t a. Lens' (PreSpacedWord t a) (PostalWord t a) Source
r'PreSpacedWord'0'Space :: forall t a. Lens' (PreSpacedWord t a) (Space t a) Source
r'PostalWord'1'Letters :: forall t a. Lens' (PostalWord t a) (Letters t a) Source
r'PostalWord'0'Letter :: forall t a. Lens' (PostalWord t a) (Letter t a) Source
r'Words'1'PreSpacedWord'Star :: forall t a. Lens' (Words t a) (PreSpacedWord'Star t a) Source
r'Words'0'PostalWord :: forall t a. Lens' (Words t a) (PostalWord t a) Source
r'NameLine'1'Separator :: forall t a. Lens' (NameLine t a) (Separator t a) Source
r'NameLine'0'Words :: forall t a. Lens' (NameLine t a) (Words t a) Source
r'Address'2'CityLine :: forall t a. Lens' (Address t a) (CityLine t a) Source
r'Address'1'StreetLine :: forall t a. Lens' (Address t a) (StreetLine t a) Source
r'Address'0'NameLine :: forall t a. Lens' (Address t a) (NameLine t a) Source