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 | |
type Unwrapped (Letter t a) = (t, a) Source |
NoLetter | |
ConsLetter (Letter t a) (Letters t a) |
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 |
Space (t, a) |
data PreSpacedWord t a Source
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
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 | |
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 |
Comma (t, a) |
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 |
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 | |
type Unwrapped (Newline t a) = (t, a) Source |
Separator'CommaSpace (CommaSpace t a) | |
Separator'Newline (Newline t a) |
NameLine | |
|
Digit (t, a) |
newtype Digit'Plus t a Source
Digit'Plus (NonEmpty (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 | |
type Unwrapped (Digit'Plus t a) = NonEmpty (Digit 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 | |
type Unwrapped (Number t a) = Digit'Plus t a Source |
North (t, a) |
South (t, a) |
East (t, a) |
West (t, a) |
NE'0 (t, a) |
NE'1 (t, a) |
NE | |
|
NW'0 (t, a) |
NW'1 (t, a) |
NW | |
|
SE'0 (t, a) |
SE'1 (t, a) |
SE | |
|
SW'0 (t, a) |
SW'1 (t, a) |
SW | |
|
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
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 |
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 | |
type Unwrapped (DirectionSpace'Opt t a) = Maybe (DirectionSpace 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 | |
type Unwrapped (StreetName t a) = Words t a Source |
Street'0 (t, a) |
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 |
Street'1 (t, a) |
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 |
Street | |
|
Avenue'0 (t, a) |
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 |
Avenue'1 (t, a) |
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 |
Avenue'2 (t, a) |
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 |
Avenue | |
|
Way'0 (t, a) |
Way'1 (t, a) |
Way'2 (t, a) |
Way | |
|
newtype Boulevard'0 t a Source
Boulevard'0 (t, a) |
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
Boulevard'1 (t, a) |
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
Boulevard'2 (t, a) |
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
Boulevard'3 (t, a) |
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 |
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
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 |
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 | |
type Unwrapped (SpaceSuffix'Opt t a) = Maybe (SpaceSuffix t a) Source |
data StreetLine t a Source
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 |
ZipCode | |
|
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 | |
type Unwrapped (Newline'Opt t a) = Maybe (Newline t a) Source |
CityLine | |
|
Address | |
|