| 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) |
Instances
| Bifunctor Letter Source | |
| Functor (Letter t) Source | |
| Foldable (Letter t) Source | |
| Traversable (Letter t) Source | |
| (Eq t, Eq a) => Eq (Letter t a) Source | |
| (Ord t, Ord a) => Ord (Letter t a) Source | |
| (Show t, Show a) => Show (Letter t a) Source | |
| Wrapped (Letter t a) Source | |
| type Unwrapped (Letter t a) = (t, a) Source |
Constructors
| NoLetter | |
| ConsLetter (Letter t a) (Letters t a) |
data PostalWord t a Source
Constructors
| PostalWord | |
Fields
| |
Instances
| Bifunctor PostalWord Source | |
| 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) |
Instances
data PreSpacedWord t a Source
Constructors
| PreSpacedWord | |
Fields
| |
Instances
| Bifunctor PreSpacedWord Source | |
| 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
| Bifunctor PreSpacedWord'Star Source | |
| 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 | |
| Monoid (PreSpacedWord'Star t a) Source | |
| Semigroup (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) |
Instances
data CommaSpace t a Source
Constructors
| CommaSpace | |
Fields
| |
Instances
| Bifunctor CommaSpace Source | |
| 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) |
Instances
| Bifunctor Newline Source | |
| Functor (Newline t) Source | |
| Foldable (Newline t) Source | |
| Traversable (Newline t) Source | |
| (Eq t, Eq a) => Eq (Newline t a) Source | |
| (Ord t, Ord a) => Ord (Newline t a) Source | |
| (Show t, Show a) => Show (Newline t a) Source | |
| Wrapped (Newline t a) Source | |
| type Unwrapped (Newline t a) = (t, a) Source |
Constructors
| Separator'CommaSpace (CommaSpace t a) | |
| Separator'Newline (Newline t a) |
Constructors
| NameLine | |
Fields
| |
Constructors
| Digit (t, a) |
Instances
newtype Digit'Plus t a Source
Constructors
| Digit'Plus (NonEmpty (Digit t a)) |
Instances
| Bifunctor Digit'Plus Source | |
| 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 | |
| Semigroup (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) |
Instances
| Bifunctor Number Source | |
| Functor (Number t) Source | |
| Foldable (Number t) Source | |
| Traversable (Number t) Source | |
| (Eq t, Eq a) => Eq (Number t a) Source | |
| (Ord t, Ord a) => Ord (Number t a) Source | |
| (Show t, Show a) => Show (Number t a) Source | |
| Semigroup (Number t a) Source | |
| Wrapped (Number t a) Source | |
| type Unwrapped (Number t a) = Digit'Plus t a Source |
Constructors
| North (t, a) |
Instances
Constructors
| South (t, a) |
Instances
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
| Bifunctor DirectionSpace Source | |
| 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
| Bifunctor DirectionSpace'Opt Source | |
| 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
| Bifunctor StreetName Source | |
| 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
| Bifunctor Street'0 Source | |
| Functor (Street'0 t) Source | |
| Foldable (Street'0 t) Source | |
| Traversable (Street'0 t) Source | |
| (Eq t, Eq a) => Eq (Street'0 t a) Source | |
| (Ord t, Ord a) => Ord (Street'0 t a) Source | |
| (Show t, Show a) => Show (Street'0 t a) Source | |
| Wrapped (Street'0 t a) Source | |
| type Unwrapped (Street'0 t a) = (t, a) Source |
Constructors
| Street'1 (t, a) |
Instances
| Bifunctor Street'1 Source | |
| Functor (Street'1 t) Source | |
| Foldable (Street'1 t) Source | |
| Traversable (Street'1 t) Source | |
| (Eq t, Eq a) => Eq (Street'1 t a) Source | |
| (Ord t, Ord a) => Ord (Street'1 t a) Source | |
| (Show t, Show a) => Show (Street'1 t a) Source | |
| Wrapped (Street'1 t a) Source | |
| type Unwrapped (Street'1 t a) = (t, a) Source |
Constructors
| Street | |
Fields
| |
Constructors
| Avenue'0 (t, a) |
Instances
| Bifunctor Avenue'0 Source | |
| Functor (Avenue'0 t) Source | |
| Foldable (Avenue'0 t) Source | |
| Traversable (Avenue'0 t) Source | |
| (Eq t, Eq a) => Eq (Avenue'0 t a) Source | |
| (Ord t, Ord a) => Ord (Avenue'0 t a) Source | |
| (Show t, Show a) => Show (Avenue'0 t a) Source | |
| Wrapped (Avenue'0 t a) Source | |
| type Unwrapped (Avenue'0 t a) = (t, a) Source |
Constructors
| Avenue'1 (t, a) |
Instances
| Bifunctor Avenue'1 Source | |
| Functor (Avenue'1 t) Source | |
| Foldable (Avenue'1 t) Source | |
| Traversable (Avenue'1 t) Source | |
| (Eq t, Eq a) => Eq (Avenue'1 t a) Source | |
| (Ord t, Ord a) => Ord (Avenue'1 t a) Source | |
| (Show t, Show a) => Show (Avenue'1 t a) Source | |
| Wrapped (Avenue'1 t a) Source | |
| type Unwrapped (Avenue'1 t a) = (t, a) Source |
Constructors
| Avenue'2 (t, a) |
Instances
| Bifunctor Avenue'2 Source | |
| Functor (Avenue'2 t) Source | |
| Foldable (Avenue'2 t) Source | |
| Traversable (Avenue'2 t) Source | |
| (Eq t, Eq a) => Eq (Avenue'2 t a) Source | |
| (Ord t, Ord a) => Ord (Avenue'2 t a) Source | |
| (Show t, Show a) => Show (Avenue'2 t a) Source | |
| Wrapped (Avenue'2 t a) Source | |
| type Unwrapped (Avenue'2 t a) = (t, a) Source |
Constructors
| Avenue | |
Fields
| |
Constructors
| Way'0 (t, a) |
Instances
Constructors
| Way'1 (t, a) |
Instances
Constructors
| Way'2 (t, a) |
Instances
Constructors
| Way | |
Fields
| |
newtype Boulevard'0 t a Source
Constructors
| Boulevard'0 (t, a) |
Instances
| Bifunctor Boulevard'0 Source | |
| 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
| Bifunctor Boulevard'1 Source | |
| 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
| Bifunctor Boulevard'2 Source | |
| 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
| Bifunctor Boulevard'3 Source | |
| 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
| Bifunctor SpaceSuffix Source | |
| 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
| Bifunctor SpaceSuffix'Opt Source | |
| 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
| Bifunctor StreetLine Source | |
| 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 |
Instances
Constructors
| ZipCode | |
Fields
| |
newtype Newline'Opt t a Source
Constructors
| Newline'Opt (Maybe (Newline t a)) |
Instances
| Bifunctor Newline'Opt Source | |
| 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
| |