pinchot-0.18.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