{-# LANGUAGE ConstraintKinds #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# LANGUAGE TypeFamilies #-}
module Data.Digit.Class.MixedCase
(
DAa
, DBb
, DCc
, DDd
, DEe
, DFf
, parseAa
, parseBb
, parseCc
, parseDd
, parseEe
, parseFf
, module Data.Digit.Class.UpperCase
, module Data.Digit.Class.LowerCase
) where
import Text.Parser.Char (CharParsing)
import Text.Parser.Combinators (choice, (<?>))
import Data.Digit.Class.LowerCase
import Data.Digit.Class.UpperCase
type DAa a =
(DA a, Da a)
type DBb a =
(DB a, Db a)
type DCc a =
(DC a, Dc a)
type DDd a =
(DD a, Dd a)
type DEe a =
(DE a, De a)
type DFf a =
(DF a, Df a)
parseAa ::
(DAa d, CharParsing p) =>
p d
parseAa :: forall d (p :: * -> *). (DAa d, CharParsing p) => p d
parseAa =
forall (m :: * -> *) a. Alternative m => [m a] -> m a
choice [forall d (p :: * -> *). (DA d, CharParsing p) => p d
parseA, forall d (p :: * -> *). (Da d, CharParsing p) => p d
parsea] forall (m :: * -> *) a. Parsing m => m a -> String -> m a
<?> String
"Aa"
parseBb ::
(DBb d, CharParsing p) =>
p d
parseBb :: forall d (p :: * -> *). (DBb d, CharParsing p) => p d
parseBb =
forall (m :: * -> *) a. Alternative m => [m a] -> m a
choice [forall d (p :: * -> *). (DB d, CharParsing p) => p d
parseB, forall d (p :: * -> *). (Db d, CharParsing p) => p d
parseb] forall (m :: * -> *) a. Parsing m => m a -> String -> m a
<?> String
"Bb"
parseCc ::
(DCc d, CharParsing p) =>
p d
parseCc :: forall d (p :: * -> *). (DCc d, CharParsing p) => p d
parseCc =
forall (m :: * -> *) a. Alternative m => [m a] -> m a
choice [forall d (p :: * -> *). (DC d, CharParsing p) => p d
parseC, forall d (p :: * -> *). (Dc d, CharParsing p) => p d
parsec] forall (m :: * -> *) a. Parsing m => m a -> String -> m a
<?> String
"Cc"
parseDd ::
(DDd d, CharParsing p) =>
p d
parseDd :: forall d (p :: * -> *). (DDd d, CharParsing p) => p d
parseDd =
forall (m :: * -> *) a. Alternative m => [m a] -> m a
choice [forall d (p :: * -> *). (DD d, CharParsing p) => p d
parseD, forall d (p :: * -> *). (Dd d, CharParsing p) => p d
parsed] forall (m :: * -> *) a. Parsing m => m a -> String -> m a
<?> String
"Dd"
parseEe ::
(DEe d, CharParsing p) =>
p d
parseEe :: forall d (p :: * -> *). (DEe d, CharParsing p) => p d
parseEe =
forall (m :: * -> *) a. Alternative m => [m a] -> m a
choice [forall d (p :: * -> *). (DE d, CharParsing p) => p d
parseE, forall d (p :: * -> *). (De d, CharParsing p) => p d
parsee] forall (m :: * -> *) a. Parsing m => m a -> String -> m a
<?> String
"Ee"
parseFf ::
(DFf d, CharParsing p) =>
p d
parseFf :: forall d (p :: * -> *). (DFf d, CharParsing p) => p d
parseFf =
forall (m :: * -> *) a. Alternative m => [m a] -> m a
choice [forall d (p :: * -> *). (DF d, CharParsing p) => p d
parseF, forall d (p :: * -> *). (Df d, CharParsing p) => p d
parsef] forall (m :: * -> *) a. Parsing m => m a -> String -> m a
<?> String
"Ff"