Safe Haskell | None |
---|---|
Language | Haskell2010 |
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
Letter (t, a) |
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 # | |
(PrettyVal t, PrettyVal a) => PrettyVal (Letter t a) Source # | |
type Unwrapped (Letter t a) Source # | |
NoLetter | |
ConsLetter (Letter t a) (Letters t a) |
Bifunctor Letters Source # | |
Functor (Letters t) Source # | |
Foldable (Letters t) Source # | |
Traversable (Letters t) Source # | |
(Eq t, Eq a) => Eq (Letters t a) Source # | |
(Ord t, Ord a) => Ord (Letters t a) Source # | |
(Show t, Show a) => Show (Letters t a) Source # | |
(PrettyVal t, PrettyVal a) => PrettyVal (Letters t a) Source # | |
data PostalWord t a Source #
PostalWord | |
|
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 # | |
(PrettyVal t, PrettyVal a) => PrettyVal (PostalWord t a) Source # | |
Space (t, a) |
Bifunctor Space Source # | |
Functor (Space t) Source # | |
Foldable (Space t) Source # | |
Traversable (Space t) Source # | |
(Eq t, Eq a) => Eq (Space t a) Source # | |
(Ord t, Ord a) => Ord (Space t a) Source # | |
(Show t, Show a) => Show (Space t a) Source # | |
Wrapped (Space t a) Source # | |
(PrettyVal t, PrettyVal a) => PrettyVal (Space t a) Source # | |
type Unwrapped (Space t a) Source # | |
data PreSpacedWord t a Source #
PreSpacedWord | |
|
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 # | |
(PrettyVal t, PrettyVal a) => PrettyVal (PreSpacedWord t a) Source # | |
newtype PreSpacedWord'Star t a Source #
PreSpacedWord'Star (Seq (PreSpacedWord t a)) |
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 # | |
Semigroup (PreSpacedWord'Star t a) Source # | |
Monoid (PreSpacedWord'Star t a) Source # | |
Wrapped (PreSpacedWord'Star t a) Source # | |
(PrettyVal t, PrettyVal a) => PrettyVal (PreSpacedWord'Star t a) Source # | |
type Unwrapped (PreSpacedWord'Star t a) Source # | |
Words | |
|
Bifunctor Words Source # | |
Functor (Words t) Source # | |
Foldable (Words t) Source # | |
Traversable (Words t) Source # | |
(Eq t, Eq a) => Eq (Words t a) Source # | |
(Ord t, Ord a) => Ord (Words t a) Source # | |
(Show t, Show a) => Show (Words t a) Source # | |
(PrettyVal t, PrettyVal a) => PrettyVal (Words t a) Source # | |
Comma (t, a) |
Bifunctor Comma Source # | |
Functor (Comma t) Source # | |
Foldable (Comma t) Source # | |
Traversable (Comma t) Source # | |
(Eq t, Eq a) => Eq (Comma t a) Source # | |
(Ord t, Ord a) => Ord (Comma t a) Source # | |
(Show t, Show a) => Show (Comma t a) Source # | |
Wrapped (Comma t a) Source # | |
(PrettyVal t, PrettyVal a) => PrettyVal (Comma t a) Source # | |
type Unwrapped (Comma t a) Source # | |
data CommaSpace t a Source #
CommaSpace | |
|
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 # | |
(PrettyVal t, PrettyVal a) => PrettyVal (CommaSpace t a) Source # | |
Newline (t, a) |
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 # | |
(PrettyVal t, PrettyVal a) => PrettyVal (Newline t a) Source # | |
type Unwrapped (Newline t a) Source # | |
Separator'CommaSpace (CommaSpace t a) | |
Separator'Newline (Newline t a) |
Bifunctor Separator Source # | |
Functor (Separator t) Source # | |
Foldable (Separator t) Source # | |
Traversable (Separator t) Source # | |
(Eq t, Eq a) => Eq (Separator t a) Source # | |
(Ord t, Ord a) => Ord (Separator t a) Source # | |
(Show t, Show a) => Show (Separator t a) Source # | |
(PrettyVal t, PrettyVal a) => PrettyVal (Separator t a) Source # | |
NameLine | |
|
Bifunctor NameLine Source # | |
Functor (NameLine t) Source # | |
Foldable (NameLine t) Source # | |
Traversable (NameLine t) Source # | |
(Eq t, Eq a) => Eq (NameLine t a) Source # | |
(Ord t, Ord a) => Ord (NameLine t a) Source # | |
(Show t, Show a) => Show (NameLine t a) Source # | |
(PrettyVal t, PrettyVal a) => PrettyVal (NameLine t a) Source # | |
Digit (t, a) |
Bifunctor Digit Source # | |
Functor (Digit t) Source # | |
Foldable (Digit t) Source # | |
Traversable (Digit t) Source # | |
(Eq t, Eq a) => Eq (Digit t a) Source # | |
(Ord t, Ord a) => Ord (Digit t a) Source # | |
(Show t, Show a) => Show (Digit t a) Source # | |
Wrapped (Digit t a) Source # | |
(PrettyVal t, PrettyVal a) => PrettyVal (Digit t a) Source # | |
type Unwrapped (Digit t a) Source # | |
newtype Digit'Plus t a Source #
Digit'Plus (NonEmptySeq (Digit t a)) |
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 # | |
(PrettyVal t, PrettyVal a) => PrettyVal (Digit'Plus t a) Source # | |
type Unwrapped (Digit'Plus t a) Source # | |
Number (Digit'Plus t a) |
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 # | |
(PrettyVal t, PrettyVal a) => PrettyVal (Number t a) Source # | |
type Unwrapped (Number t a) Source # | |
North (t, a) |
Bifunctor North Source # | |
Functor (North t) Source # | |
Foldable (North t) Source # | |
Traversable (North t) Source # | |
(Eq t, Eq a) => Eq (North t a) Source # | |
(Ord t, Ord a) => Ord (North t a) Source # | |
(Show t, Show a) => Show (North t a) Source # | |
Wrapped (North t a) Source # | |
(PrettyVal t, PrettyVal a) => PrettyVal (North t a) Source # | |
type Unwrapped (North t a) Source # | |
South (t, a) |
Bifunctor South Source # | |
Functor (South t) Source # | |
Foldable (South t) Source # | |
Traversable (South t) Source # | |
(Eq t, Eq a) => Eq (South t a) Source # | |
(Ord t, Ord a) => Ord (South t a) Source # | |
(Show t, Show a) => Show (South t a) Source # | |
Wrapped (South t a) Source # | |
(PrettyVal t, PrettyVal a) => PrettyVal (South t a) Source # | |
type Unwrapped (South t a) Source # | |
East (t, a) |
Bifunctor East Source # | |
Functor (East t) Source # | |
Foldable (East t) Source # | |
Traversable (East t) Source # | |
(Eq t, Eq a) => Eq (East t a) Source # | |
(Ord t, Ord a) => Ord (East t a) Source # | |
(Show t, Show a) => Show (East t a) Source # | |
Wrapped (East t a) Source # | |
(PrettyVal t, PrettyVal a) => PrettyVal (East t a) Source # | |
type Unwrapped (East t a) Source # | |
West (t, a) |
Bifunctor West Source # | |
Functor (West t) Source # | |
Foldable (West t) Source # | |
Traversable (West t) Source # | |
(Eq t, Eq a) => Eq (West t a) Source # | |
(Ord t, Ord a) => Ord (West t a) Source # | |
(Show t, Show a) => Show (West t a) Source # | |
Wrapped (West t a) Source # | |
(PrettyVal t, PrettyVal a) => PrettyVal (West t a) Source # | |
type Unwrapped (West t a) Source # | |
NE (NonEmptySeq (t, a)) |
NW (NonEmptySeq (t, a)) |
SE (NonEmptySeq (t, a)) |
SW (NonEmptySeq (t, a)) |
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) |
Bifunctor Direction Source # | |
Functor (Direction t) Source # | |
Foldable (Direction t) Source # | |
Traversable (Direction t) Source # | |
(Eq t, Eq a) => Eq (Direction t a) Source # | |
(Ord t, Ord a) => Ord (Direction t a) Source # | |
(Show t, Show a) => Show (Direction t a) Source # | |
(PrettyVal t, PrettyVal a) => PrettyVal (Direction t a) Source # | |
data DirectionSpace t a Source #
DirectionSpace | |
|
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 # | |
(PrettyVal t, PrettyVal a) => PrettyVal (DirectionSpace t a) Source # | |
newtype DirectionSpace'Opt t a Source #
DirectionSpace'Opt (Maybe (DirectionSpace t a)) |
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 # | |
(PrettyVal t, PrettyVal a) => PrettyVal (DirectionSpace'Opt t a) Source # | |
type Unwrapped (DirectionSpace'Opt t a) Source # | |
newtype StreetName t a Source #
StreetName (Words t a) |
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 # | |
(PrettyVal t, PrettyVal a) => PrettyVal (StreetName t a) Source # | |
type Unwrapped (StreetName t a) Source # | |
Street (NonEmptySeq (t, a)) |
Bifunctor Street Source # | |
Functor (Street t) Source # | |
Foldable (Street t) Source # | |
Traversable (Street t) Source # | |
(Eq t, Eq a) => Eq (Street t a) Source # | |
(Ord t, Ord a) => Ord (Street t a) Source # | |
(Show t, Show a) => Show (Street t a) Source # | |
(PrettyVal t, PrettyVal a) => PrettyVal (Street t a) Source # | |
Avenue (NonEmptySeq (t, a)) |
Bifunctor Avenue Source # | |
Functor (Avenue t) Source # | |
Foldable (Avenue t) Source # | |
Traversable (Avenue t) Source # | |
(Eq t, Eq a) => Eq (Avenue t a) Source # | |
(Ord t, Ord a) => Ord (Avenue t a) Source # | |
(Show t, Show a) => Show (Avenue t a) Source # | |
(PrettyVal t, PrettyVal a) => PrettyVal (Avenue t a) Source # | |
Way (NonEmptySeq (t, a)) |
newtype Boulevard t a Source #
Boulevard (NonEmptySeq (t, a)) |
Bifunctor Boulevard Source # | |
Functor (Boulevard t) Source # | |
Foldable (Boulevard t) Source # | |
Traversable (Boulevard t) Source # | |
(Eq t, Eq a) => Eq (Boulevard t a) Source # | |
(Ord t, Ord a) => Ord (Boulevard t a) Source # | |
(Show t, Show a) => Show (Boulevard t a) Source # | |
(PrettyVal t, PrettyVal a) => PrettyVal (Boulevard t a) Source # | |
Suffix'Street (Street t a) | |
Suffix'Avenue (Avenue t a) | |
Suffix'Way (Way t a) | |
Suffix'Boulevard (Boulevard t a) |
Bifunctor Suffix Source # | |
Functor (Suffix t) Source # | |
Foldable (Suffix t) Source # | |
Traversable (Suffix t) Source # | |
(Eq t, Eq a) => Eq (Suffix t a) Source # | |
(Ord t, Ord a) => Ord (Suffix t a) Source # | |
(Show t, Show a) => Show (Suffix t a) Source # | |
(PrettyVal t, PrettyVal a) => PrettyVal (Suffix t a) Source # | |
data SpaceSuffix t a Source #
SpaceSuffix | |
|
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 # | |
(PrettyVal t, PrettyVal a) => PrettyVal (SpaceSuffix t a) Source # | |
newtype SpaceSuffix'Opt t a Source #
SpaceSuffix'Opt (Maybe (SpaceSuffix t a)) |
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 # | |
(PrettyVal t, PrettyVal a) => PrettyVal (SpaceSuffix'Opt t a) Source # | |
type Unwrapped (SpaceSuffix'Opt t a) Source # | |
data StreetLine t a Source #
StreetLine | |
|
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 # | |
(PrettyVal t, PrettyVal a) => PrettyVal (StreetLine t a) Source # | |
Bifunctor City Source # | |
Functor (City t) Source # | |
Foldable (City t) Source # | |
Traversable (City t) Source # | |
(Eq t, Eq a) => Eq (City t a) Source # | |
(Ord t, Ord a) => Ord (City t a) Source # | |
(Show t, Show a) => Show (City t a) Source # | |
Wrapped (City t a) Source # | |
(PrettyVal t, PrettyVal a) => PrettyVal (City t a) Source # | |
type Unwrapped (City t a) Source # | |
Bifunctor State Source # | |
Functor (State t) Source # | |
Foldable (State t) Source # | |
Traversable (State t) Source # | |
(Eq t, Eq a) => Eq (State t a) Source # | |
(Ord t, Ord a) => Ord (State t a) Source # | |
(Show t, Show a) => Show (State t a) Source # | |
Wrapped (State t a) Source # | |
(PrettyVal t, PrettyVal a) => PrettyVal (State t a) Source # | |
type Unwrapped (State t a) Source # | |
ZipCode | |
|
Bifunctor ZipCode Source # | |
Functor (ZipCode t) Source # | |
Foldable (ZipCode t) Source # | |
Traversable (ZipCode t) Source # | |
(Eq t, Eq a) => Eq (ZipCode t a) Source # | |
(Ord t, Ord a) => Ord (ZipCode t a) Source # | |
(Show t, Show a) => Show (ZipCode t a) Source # | |
(PrettyVal t, PrettyVal a) => PrettyVal (ZipCode t a) Source # | |
newtype Newline'Opt t a Source #
Newline'Opt (Maybe (Newline t a)) |
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 # | |
(PrettyVal t, PrettyVal a) => PrettyVal (Newline'Opt t a) Source # | |
type Unwrapped (Newline'Opt t a) Source # | |
CityLine | |
|
Bifunctor CityLine Source # | |
Functor (CityLine t) Source # | |
Foldable (CityLine t) Source # | |
Traversable (CityLine t) Source # | |
(Eq t, Eq a) => Eq (CityLine t a) Source # | |
(Ord t, Ord a) => Ord (CityLine t a) Source # | |
(Show t, Show a) => Show (CityLine t a) Source # | |
(PrettyVal t, PrettyVal a) => PrettyVal (CityLine t a) Source # | |
Address | |
|
Bifunctor Address Source # | |
Functor (Address t) Source # | |
Foldable (Address t) Source # | |
Traversable (Address t) Source # | |
(Eq t, Eq a) => Eq (Address t a) Source # | |
(Ord t, Ord a) => Ord (Address t a) Source # | |
(Show t, Show a) => Show (Address t a) Source # | |
(PrettyVal t, PrettyVal a) => PrettyVal (Address t a) Source # | |