{-# LANGUAGE NoImplicitPrelude #-}
module Data.Digit.Class.UpperCase
(
DA(..)
, DB(..)
, DC(..)
, DD(..)
, DE(..)
, DF(..)
, parseA
, parseB
, parseC
, parseD
, parseE
, parseF
) where
import Control.Category (id)
import Control.Lens (Prism', ( # ))
import Data.Functor ((<$))
import Text.Parser.Char (CharParsing, char)
import Text.Parser.Combinators ((<?>))
class DA d where
dA ::
Prism'
d
()
xA ::
d
xA =
forall d. DA d => Prism' d ()
dA forall t b. AReview t b -> b -> t
# ()
instance DA () where
dA :: Prism' () ()
dA =
forall {k} (cat :: k -> k -> *) (a :: k). Category cat => cat a a
id
class DB d where
dB ::
Prism'
d
()
xB ::
d
xB =
forall d. DB d => Prism' d ()
dB forall t b. AReview t b -> b -> t
# ()
instance DB () where
dB :: Prism' () ()
dB =
forall {k} (cat :: k -> k -> *) (a :: k). Category cat => cat a a
id
class DC d where
dC ::
Prism'
d
()
xC ::
d
xC =
forall d. DC d => Prism' d ()
dC forall t b. AReview t b -> b -> t
# ()
instance DC () where
dC :: Prism' () ()
dC =
forall {k} (cat :: k -> k -> *) (a :: k). Category cat => cat a a
id
class DD d where
dD ::
Prism'
d
()
xD ::
d
xD =
forall d. DD d => Prism' d ()
dD forall t b. AReview t b -> b -> t
# ()
instance DD () where
dD :: Prism' () ()
dD =
forall {k} (cat :: k -> k -> *) (a :: k). Category cat => cat a a
id
class DE d where
dE ::
Prism'
d
()
xE ::
d
xE =
forall d. DE d => Prism' d ()
dE forall t b. AReview t b -> b -> t
# ()
instance DE () where
dE :: Prism' () ()
dE =
forall {k} (cat :: k -> k -> *) (a :: k). Category cat => cat a a
id
class DF d where
dF ::
Prism'
d
()
xF ::
d
xF =
forall d. DF d => Prism' d ()
dF forall t b. AReview t b -> b -> t
# ()
instance DF () where
dF :: Prism' () ()
dF =
forall {k} (cat :: k -> k -> *) (a :: k). Category cat => cat a a
id
parseA ::
(DA d, CharParsing p) =>
p d
parseA :: forall d (p :: * -> *). (DA d, CharParsing p) => p d
parseA =
forall d. DA d => d
xA forall (f :: * -> *) a b. Functor f => a -> f b -> f a
<$ forall (m :: * -> *). CharParsing m => Char -> m Char
char Char
'A' forall (m :: * -> *) a. Parsing m => m a -> String -> m a
<?> String
"A"
parseB ::
(DB d, CharParsing p) =>
p d
parseB :: forall d (p :: * -> *). (DB d, CharParsing p) => p d
parseB =
forall d. DB d => d
xB forall (f :: * -> *) a b. Functor f => a -> f b -> f a
<$ forall (m :: * -> *). CharParsing m => Char -> m Char
char Char
'B' forall (m :: * -> *) a. Parsing m => m a -> String -> m a
<?> String
"B"
parseC ::
(DC d, CharParsing p) =>
p d
parseC :: forall d (p :: * -> *). (DC d, CharParsing p) => p d
parseC =
forall d. DC d => d
xC forall (f :: * -> *) a b. Functor f => a -> f b -> f a
<$ forall (m :: * -> *). CharParsing m => Char -> m Char
char Char
'C' forall (m :: * -> *) a. Parsing m => m a -> String -> m a
<?> String
"C"
parseD ::
(DD d, CharParsing p) =>
p d
parseD :: forall d (p :: * -> *). (DD d, CharParsing p) => p d
parseD =
forall d. DD d => d
xD forall (f :: * -> *) a b. Functor f => a -> f b -> f a
<$ forall (m :: * -> *). CharParsing m => Char -> m Char
char Char
'D' forall (m :: * -> *) a. Parsing m => m a -> String -> m a
<?> String
"D"
parseE ::
(DE d, CharParsing p) =>
p d
parseE :: forall d (p :: * -> *). (DE d, CharParsing p) => p d
parseE =
forall d. DE d => d
xE forall (f :: * -> *) a b. Functor f => a -> f b -> f a
<$ forall (m :: * -> *). CharParsing m => Char -> m Char
char Char
'E' forall (m :: * -> *) a. Parsing m => m a -> String -> m a
<?> String
"E"
parseF ::
(DF d, CharParsing p) =>
p d
parseF :: forall d (p :: * -> *). (DF d, CharParsing p) => p d
parseF =
forall d. DF d => d
xF forall (f :: * -> *) a b. Functor f => a -> f b -> f a
<$ forall (m :: * -> *). CharParsing m => Char -> m Char
char Char
'F' forall (m :: * -> *) a. Parsing m => m a -> String -> m a
<?> String
"F"