pinchot-0.24.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 :: forall a. Prism' (NonEmpty (Char, a)) (Way Char a) Source #

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

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

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

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

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