| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Pinchot.Examples.SyntaxTrees
Description
This module shows how to use Template Haskell to generate the data types corresponding to your context-free grammar. You will want to look at the source; the Haddocks will show only the generated types and not the Template Haskell that was used to generate them.
Documentation
Constructors
| Letter (t, a) |
Constructors
| NoLetter | |
| ConsLetter (Letter t a) (Letters t a) |
data PostalWord t a Source
Constructors
| PostalWord | |
Fields
| |
Instances
| Functor (PostalWord t) Source | |
| Foldable (PostalWord t) Source | |
| Traversable (PostalWord t) Source | |
| (Eq t, Eq a) => Eq (PostalWord t a) Source | |
| (Ord t, Ord a) => Ord (PostalWord t a) Source | |
| (Show t, Show a) => Show (PostalWord t a) Source |
Constructors
| Space (t, a) |
data PreSpacedWord t a Source
Constructors
| PreSpacedWord | |
Fields
| |
Instances
| Functor (PreSpacedWord t) Source | |
| Foldable (PreSpacedWord t) Source | |
| Traversable (PreSpacedWord t) Source | |
| (Eq t, Eq a) => Eq (PreSpacedWord t a) Source | |
| (Ord t, Ord a) => Ord (PreSpacedWord t a) Source | |
| (Show t, Show a) => Show (PreSpacedWord t a) Source |
newtype PreSpacedWord'Star t a Source
Constructors
| PreSpacedWord'Star (Seq (PreSpacedWord t a)) |
Instances
| Functor (PreSpacedWord'Star t) Source | |
| Foldable (PreSpacedWord'Star t) Source | |
| Traversable (PreSpacedWord'Star t) Source | |
| (Eq t, Eq a) => Eq (PreSpacedWord'Star t a) Source | |
| (Ord t, Ord a) => Ord (PreSpacedWord'Star t a) Source | |
| (Show t, Show a) => Show (PreSpacedWord'Star t a) Source | |
| Wrapped (PreSpacedWord'Star t a) Source | |
| type Unwrapped (PreSpacedWord'Star t a) = Seq (PreSpacedWord t a) Source |
Constructors
| Words | |
Fields | |
Constructors
| Comma (t, a) |
data CommaSpace t a Source
Constructors
| CommaSpace | |
Fields
| |
Instances
| Functor (CommaSpace t) Source | |
| Foldable (CommaSpace t) Source | |
| Traversable (CommaSpace t) Source | |
| (Eq t, Eq a) => Eq (CommaSpace t a) Source | |
| (Ord t, Ord a) => Ord (CommaSpace t a) Source | |
| (Show t, Show a) => Show (CommaSpace t a) Source |
Constructors
| Newline (t, a) |
Constructors
| Separator'CommaSpace (CommaSpace t a) | |
| Separator'Newline (Newline t a) |
Constructors
| NameLine | |
Fields
| |
Constructors
| Digit (t, a) |
newtype Digit'Plus t a Source
Constructors
| Digit'Plus (NonEmpty (Digit t a)) |
Instances
| Functor (Digit'Plus t) Source | |
| Foldable (Digit'Plus t) Source | |
| Traversable (Digit'Plus t) Source | |
| (Eq t, Eq a) => Eq (Digit'Plus t a) Source | |
| (Ord t, Ord a) => Ord (Digit'Plus t a) Source | |
| (Show t, Show a) => Show (Digit'Plus t a) Source | |
| Wrapped (Digit'Plus t a) Source | |
| type Unwrapped (Digit'Plus t a) = NonEmpty (Digit t a) Source |
Constructors
| Number (Digit'Plus t a) |
Constructors
| North (t, a) |
Constructors
| South (t, a) |
Constructors
| East (t, a) |
Constructors
| West (t, a) |
Constructors
| NE'0 (t, a) |
Constructors
| NE'1 (t, a) |
Constructors
| NE | |
Fields
| |
Constructors
| NW'0 (t, a) |
Constructors
| NW'1 (t, a) |
Constructors
| NW | |
Fields
| |
Constructors
| SE'0 (t, a) |
Constructors
| SE'1 (t, a) |
Constructors
| SE | |
Fields
| |
Constructors
| SW'0 (t, a) |
Constructors
| SW'1 (t, a) |
Constructors
| SW | |
Fields
| |
Constructors
| Direction'North (North t a) | |
| Direction'South (South t a) | |
| Direction'East (East t a) | |
| Direction'West (West t a) | |
| Direction'NE (NE t a) | |
| Direction'NW (NW t a) | |
| Direction'SE (SE t a) | |
| Direction'SW (SW t a) |
data DirectionSpace t a Source
Constructors
| DirectionSpace | |
Fields
| |
Instances
| Functor (DirectionSpace t) Source | |
| Foldable (DirectionSpace t) Source | |
| Traversable (DirectionSpace t) Source | |
| (Eq t, Eq a) => Eq (DirectionSpace t a) Source | |
| (Ord t, Ord a) => Ord (DirectionSpace t a) Source | |
| (Show t, Show a) => Show (DirectionSpace t a) Source |
newtype DirectionSpace'Opt t a Source
Constructors
| DirectionSpace'Opt (Maybe (DirectionSpace t a)) |
Instances
| Functor (DirectionSpace'Opt t) Source | |
| Foldable (DirectionSpace'Opt t) Source | |
| Traversable (DirectionSpace'Opt t) Source | |
| (Eq t, Eq a) => Eq (DirectionSpace'Opt t a) Source | |
| (Ord t, Ord a) => Ord (DirectionSpace'Opt t a) Source | |
| (Show t, Show a) => Show (DirectionSpace'Opt t a) Source | |
| Wrapped (DirectionSpace'Opt t a) Source | |
| type Unwrapped (DirectionSpace'Opt t a) = Maybe (DirectionSpace t a) Source |
newtype StreetName t a Source
Constructors
| StreetName (Words t a) |
Instances
| Functor (StreetName t) Source | |
| Foldable (StreetName t) Source | |
| Traversable (StreetName t) Source | |
| (Eq t, Eq a) => Eq (StreetName t a) Source | |
| (Ord t, Ord a) => Ord (StreetName t a) Source | |
| (Show t, Show a) => Show (StreetName t a) Source | |
| Wrapped (StreetName t a) Source | |
| type Unwrapped (StreetName t a) = Words t a Source |
Constructors
| Street'0 (t, a) |
Instances
Constructors
| Street'1 (t, a) |
Instances
Constructors
| Street | |
Fields
| |
Constructors
| Avenue'0 (t, a) |
Instances
Constructors
| Avenue'1 (t, a) |
Instances
Constructors
| Avenue'2 (t, a) |
Instances
Constructors
| Avenue | |
Fields
| |
Constructors
| Way'0 (t, a) |
Constructors
| Way'1 (t, a) |
Constructors
| Way'2 (t, a) |
Constructors
| Way | |
Fields
| |
newtype Boulevard'0 t a Source
Constructors
| Boulevard'0 (t, a) |
Instances
| Functor (Boulevard'0 t) Source | |
| Foldable (Boulevard'0 t) Source | |
| Traversable (Boulevard'0 t) Source | |
| (Eq t, Eq a) => Eq (Boulevard'0 t a) Source | |
| (Ord t, Ord a) => Ord (Boulevard'0 t a) Source | |
| (Show t, Show a) => Show (Boulevard'0 t a) Source | |
| Wrapped (Boulevard'0 t a) Source | |
| type Unwrapped (Boulevard'0 t a) = (t, a) Source |
newtype Boulevard'1 t a Source
Constructors
| Boulevard'1 (t, a) |
Instances
| Functor (Boulevard'1 t) Source | |
| Foldable (Boulevard'1 t) Source | |
| Traversable (Boulevard'1 t) Source | |
| (Eq t, Eq a) => Eq (Boulevard'1 t a) Source | |
| (Ord t, Ord a) => Ord (Boulevard'1 t a) Source | |
| (Show t, Show a) => Show (Boulevard'1 t a) Source | |
| Wrapped (Boulevard'1 t a) Source | |
| type Unwrapped (Boulevard'1 t a) = (t, a) Source |
newtype Boulevard'2 t a Source
Constructors
| Boulevard'2 (t, a) |
Instances
| Functor (Boulevard'2 t) Source | |
| Foldable (Boulevard'2 t) Source | |
| Traversable (Boulevard'2 t) Source | |
| (Eq t, Eq a) => Eq (Boulevard'2 t a) Source | |
| (Ord t, Ord a) => Ord (Boulevard'2 t a) Source | |
| (Show t, Show a) => Show (Boulevard'2 t a) Source | |
| Wrapped (Boulevard'2 t a) Source | |
| type Unwrapped (Boulevard'2 t a) = (t, a) Source |
newtype Boulevard'3 t a Source
Constructors
| Boulevard'3 (t, a) |
Instances
| Functor (Boulevard'3 t) Source | |
| Foldable (Boulevard'3 t) Source | |
| Traversable (Boulevard'3 t) Source | |
| (Eq t, Eq a) => Eq (Boulevard'3 t a) Source | |
| (Ord t, Ord a) => Ord (Boulevard'3 t a) Source | |
| (Show t, Show a) => Show (Boulevard'3 t a) Source | |
| Wrapped (Boulevard'3 t a) Source | |
| type Unwrapped (Boulevard'3 t a) = (t, a) Source |
Constructors
| Boulevard | |
Fields | |
Constructors
| Suffix'Street (Street t a) | |
| Suffix'Avenue (Avenue t a) | |
| Suffix'Way (Way t a) | |
| Suffix'Boulevard (Boulevard t a) |
data SpaceSuffix t a Source
Constructors
| SpaceSuffix | |
Fields
| |
Instances
| Functor (SpaceSuffix t) Source | |
| Foldable (SpaceSuffix t) Source | |
| Traversable (SpaceSuffix t) Source | |
| (Eq t, Eq a) => Eq (SpaceSuffix t a) Source | |
| (Ord t, Ord a) => Ord (SpaceSuffix t a) Source | |
| (Show t, Show a) => Show (SpaceSuffix t a) Source |
newtype SpaceSuffix'Opt t a Source
Constructors
| SpaceSuffix'Opt (Maybe (SpaceSuffix t a)) |
Instances
| Functor (SpaceSuffix'Opt t) Source | |
| Foldable (SpaceSuffix'Opt t) Source | |
| Traversable (SpaceSuffix'Opt t) Source | |
| (Eq t, Eq a) => Eq (SpaceSuffix'Opt t a) Source | |
| (Ord t, Ord a) => Ord (SpaceSuffix'Opt t a) Source | |
| (Show t, Show a) => Show (SpaceSuffix'Opt t a) Source | |
| Wrapped (SpaceSuffix'Opt t a) Source | |
| type Unwrapped (SpaceSuffix'Opt t a) = Maybe (SpaceSuffix t a) Source |
data StreetLine t a Source
Constructors
| StreetLine | |
Fields | |
Instances
| Functor (StreetLine t) Source | |
| Foldable (StreetLine t) Source | |
| Traversable (StreetLine t) Source | |
| (Eq t, Eq a) => Eq (StreetLine t a) Source | |
| (Ord t, Ord a) => Ord (StreetLine t a) Source | |
| (Show t, Show a) => Show (StreetLine t a) Source |
Constructors
| ZipCode | |
Fields
| |
newtype Newline'Opt t a Source
Constructors
| Newline'Opt (Maybe (Newline t a)) |
Instances
| Functor (Newline'Opt t) Source | |
| Foldable (Newline'Opt t) Source | |
| Traversable (Newline'Opt t) Source | |
| (Eq t, Eq a) => Eq (Newline'Opt t a) Source | |
| (Ord t, Ord a) => Ord (Newline'Opt t a) Source | |
| (Show t, Show a) => Show (Newline'Opt t a) Source | |
| Wrapped (Newline'Opt t a) Source | |
| type Unwrapped (Newline'Opt t a) = Maybe (Newline t a) Source |
Constructors
| CityLine | |
Fields
| |
Constructors
| Address | |
Fields
| |