pinchot-0.20.0.0: Write grammars, not parsers

Safe HaskellNone
LanguageHaskell2010

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'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 #

_Way'2 :: forall a. Prism' (Char, a) (Way'2 Char a) Source #

_Way'1 :: forall a. Prism' (Char, a) (Way'1 Char a) Source #

_Way'0 :: forall a. Prism' (Char, a) (Way'0 Char 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 #

_Avenue'2 :: forall a. Prism' (Char, a) (Avenue'2 Char a) Source #

_Avenue'1 :: forall a. Prism' (Char, a) (Avenue'1 Char a) Source #

_Avenue'0 :: forall a. Prism' (Char, a) (Avenue'0 Char 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 #

_Street'1 :: forall a. Prism' (Char, a) (Street'1 Char a) Source #

_Street'0 :: forall a. Prism' (Char, a) (Street'0 Char 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 #

_SW'1 :: forall a. Prism' (Char, a) (SW'1 Char a) Source #

_SW'0 :: forall a. Prism' (Char, a) (SW'0 Char 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 #

_SE'1 :: forall a. Prism' (Char, a) (SE'1 Char a) Source #

_SE'0 :: forall a. Prism' (Char, a) (SE'0 Char 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 #

_NW'1 :: forall a. Prism' (Char, a) (NW'1 Char a) Source #

_NW'0 :: forall a. Prism' (Char, a) (NW'0 Char 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 #

_NE'1 :: forall a. Prism' (Char, a) (NE'1 Char a) Source #

_NE'0 :: forall a. Prism' (Char, a) (NE'0 Char 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 #

_West :: forall a. Prism' (Char, a) (West Char a) Source #

_East :: forall a. Prism' (Char, a) (East Char a) Source #

_South :: forall a. Prism' (Char, a) (South Char a) Source #

_North :: forall a. Prism' (Char, a) (North Char 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 #

_Digit :: forall a. Prism' (Char, a) (Digit Char a) Source #

r'StreetLine'1'Space :: forall t a. Lens' (StreetLine t a) (Space t a) Source #

_Newline :: forall a. Prism' (Char, a) (Newline Char a) Source #

_Comma :: forall a. Prism' (Char, a) (Comma Char 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 #

_Space :: forall a. Prism' (Char, a) (Space Char a) Source #

_ConsLetter :: forall t a. Prism' (Letters t a) (Letter t a, Letters t a) Source #

_NoLetter :: forall t a. Prism' (Letters t a) () Source #

_Letter :: forall a. Prism' (Char, a) (Letter Char a) Source #

r'Words'0'PostalWord :: forall t a. Lens' (Words t a) (PostalWord 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'0'NameLine :: forall t a. Lens' (Address t a) (NameLine t a) Source #