alphachar 0.0.1 → 0.0.2
raw patch · 11 files changed
+3371/−399 lines, 11 filesdep +alphachardep +ansi-wl-pprintdep +hedgehogdep −QuickCheckdep −directorydep −doctestdep ~basedep ~lensdep ~parsecsetup-changednew-uploaderPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependencies added: alphachar, ansi-wl-pprint, hedgehog, pretty, semigroups, tasty, tasty-hedgehog, tasty-hspec, tasty-hunit, text
Dependencies removed: QuickCheck, directory, doctest, filepath, template-haskell
Dependency ranges changed: base, lens, parsec, parsers
API changes (from Hackage documentation)
- Data.Char.Alpha: LowerAlpha :: AlphaLower -> Alpha
- Data.Char.Alpha: UpperAlpha :: AlphaUpper -> Alpha
- Data.Char.Alpha: _Alpha :: AsAlpha r_ajUe => Prism' r_ajUe Alpha
- Data.Char.Alpha: _LowerAlpha :: AsAlpha r_ajUe => Prism' r_ajUe AlphaLower
- Data.Char.Alpha: _UpperAlpha :: AsAlpha r_ajUe => Prism' r_ajUe AlphaUpper
- Data.Char.Alpha: alpha :: HasAlpha c_ajXu => Lens' c_ajXu Alpha
- Data.Char.Alpha: alphaLower :: HasAlphaLower c_ajNf => Lens' c_ajNf AlphaLower
- Data.Char.Alpha: alphaUpper :: HasAlphaUpper c_ajkE => Lens' c_ajkE AlphaUpper
- Data.Char.Alpha: class AsAlpha r_ajUe where _UpperAlpha = (.) _Alpha _UpperAlpha _LowerAlpha = (.) _Alpha _LowerAlpha
- Data.Char.Alpha: class AsAlphaLower a
- Data.Char.Alpha: class AsAlphaUpper a
- Data.Char.Alpha: class HasAlpha c_ajXu
- Data.Char.Alpha: class HasAlphaLower c_ajNf
- Data.Char.Alpha: class HasAlphaUpper c_ajkE
- Data.Char.Alpha: data AlphaLower
- Data.Char.Alpha: data AlphaUpper
- Data.Char.Alpha: instance Data.Char.Alpha.AsAlpha Data.Char.Alpha.Alpha
- Data.Char.Alpha: instance Data.Char.Alpha.AsAlphaLower Data.Char.Alpha.Alpha
- Data.Char.Alpha: instance Data.Char.Alpha.AsAlphaLower Data.Char.Alpha.AlphaLower
- Data.Char.Alpha: instance Data.Char.Alpha.AsAlphaLower GHC.Types.Char
- Data.Char.Alpha: instance Data.Char.Alpha.AsAlphaUpper Data.Char.Alpha.Alpha
- Data.Char.Alpha: instance Data.Char.Alpha.AsAlphaUpper Data.Char.Alpha.AlphaUpper
- Data.Char.Alpha: instance Data.Char.Alpha.AsAlphaUpper GHC.Types.Char
- Data.Char.Alpha: instance Data.Char.Alpha.HasAlpha Data.Char.Alpha.Alpha
- Data.Char.Alpha: instance Data.Char.Alpha.HasAlphaLower Data.Char.Alpha.AlphaLower
- Data.Char.Alpha: instance Data.Char.Alpha.HasAlphaUpper Data.Char.Alpha.AlphaUpper
- Data.Char.Alpha: instance GHC.Classes.Eq Data.Char.Alpha.AlphaLower
- Data.Char.Alpha: instance GHC.Classes.Eq Data.Char.Alpha.AlphaUpper
- Data.Char.Alpha: instance GHC.Classes.Ord Data.Char.Alpha.AlphaLower
- Data.Char.Alpha: instance GHC.Classes.Ord Data.Char.Alpha.AlphaUpper
- Data.Char.Alpha: instance GHC.Show.Show Data.Char.Alpha.AlphaLower
- Data.Char.Alpha: instance GHC.Show.Show Data.Char.Alpha.AlphaUpper
- Data.Char.Alpha: parseAlpha :: (Monad f, CharParsing f) => f Alpha
- Data.Char.Alpha: parseAlphaLower :: (Monad f, CharParsing f) => f AlphaLower
- Data.Char.Alpha: parseAlphaUpper :: (Monad f, CharParsing f) => f AlphaUpper
+ Data.Char.Alpha: A_A :: A_A
+ Data.Char.Alpha: A_a :: A_a
+ Data.Char.Alpha: AlphaLower :: Lower -> Alpha
+ Data.Char.Alpha: AlphaUpper :: Upper -> Alpha
+ Data.Char.Alpha: B_B :: B_B
+ Data.Char.Alpha: B_b :: B_b
+ Data.Char.Alpha: C_C :: C_C
+ Data.Char.Alpha: C_c :: C_c
+ Data.Char.Alpha: D_D :: D_D
+ Data.Char.Alpha: D_d :: D_d
+ Data.Char.Alpha: E_E :: E_E
+ Data.Char.Alpha: E_e :: E_e
+ Data.Char.Alpha: F_F :: F_F
+ Data.Char.Alpha: F_f :: F_f
+ Data.Char.Alpha: G_G :: G_G
+ Data.Char.Alpha: G_g :: G_g
+ Data.Char.Alpha: H_H :: H_H
+ Data.Char.Alpha: H_h :: H_h
+ Data.Char.Alpha: I_I :: I_I
+ Data.Char.Alpha: I_i :: I_i
+ Data.Char.Alpha: J_J :: J_J
+ Data.Char.Alpha: J_j :: J_j
+ Data.Char.Alpha: K_K :: K_K
+ Data.Char.Alpha: K_k :: K_k
+ Data.Char.Alpha: L_L :: L_L
+ Data.Char.Alpha: L_l :: L_l
+ Data.Char.Alpha: Lower_a :: Lower
+ Data.Char.Alpha: Lower_b :: Lower
+ Data.Char.Alpha: Lower_c :: Lower
+ Data.Char.Alpha: Lower_d :: Lower
+ Data.Char.Alpha: Lower_e :: Lower
+ Data.Char.Alpha: Lower_f :: Lower
+ Data.Char.Alpha: Lower_g :: Lower
+ Data.Char.Alpha: Lower_h :: Lower
+ Data.Char.Alpha: Lower_i :: Lower
+ Data.Char.Alpha: Lower_j :: Lower
+ Data.Char.Alpha: Lower_k :: Lower
+ Data.Char.Alpha: Lower_l :: Lower
+ Data.Char.Alpha: Lower_m :: Lower
+ Data.Char.Alpha: Lower_n :: Lower
+ Data.Char.Alpha: Lower_o :: Lower
+ Data.Char.Alpha: Lower_p :: Lower
+ Data.Char.Alpha: Lower_q :: Lower
+ Data.Char.Alpha: Lower_r :: Lower
+ Data.Char.Alpha: Lower_s :: Lower
+ Data.Char.Alpha: Lower_t :: Lower
+ Data.Char.Alpha: Lower_u :: Lower
+ Data.Char.Alpha: Lower_v :: Lower
+ Data.Char.Alpha: Lower_w :: Lower
+ Data.Char.Alpha: Lower_x :: Lower
+ Data.Char.Alpha: Lower_y :: Lower
+ Data.Char.Alpha: Lower_z :: Lower
+ Data.Char.Alpha: M_M :: M_M
+ Data.Char.Alpha: M_m :: M_m
+ Data.Char.Alpha: N_N :: N_N
+ Data.Char.Alpha: N_n :: N_n
+ Data.Char.Alpha: O_O :: O_O
+ Data.Char.Alpha: O_o :: O_o
+ Data.Char.Alpha: P_P :: P_P
+ Data.Char.Alpha: P_p :: P_p
+ Data.Char.Alpha: Q_Q :: Q_Q
+ Data.Char.Alpha: Q_q :: Q_q
+ Data.Char.Alpha: R_R :: R_R
+ Data.Char.Alpha: R_r :: R_r
+ Data.Char.Alpha: S_S :: S_S
+ Data.Char.Alpha: S_s :: S_s
+ Data.Char.Alpha: T_T :: T_T
+ Data.Char.Alpha: T_t :: T_t
+ Data.Char.Alpha: U_U :: U_U
+ Data.Char.Alpha: U_u :: U_u
+ Data.Char.Alpha: Upper_A :: Upper
+ Data.Char.Alpha: Upper_B :: Upper
+ Data.Char.Alpha: Upper_C :: Upper
+ Data.Char.Alpha: Upper_D :: Upper
+ Data.Char.Alpha: Upper_E :: Upper
+ Data.Char.Alpha: Upper_F :: Upper
+ Data.Char.Alpha: Upper_G :: Upper
+ Data.Char.Alpha: Upper_H :: Upper
+ Data.Char.Alpha: Upper_I :: Upper
+ Data.Char.Alpha: Upper_J :: Upper
+ Data.Char.Alpha: Upper_K :: Upper
+ Data.Char.Alpha: Upper_L :: Upper
+ Data.Char.Alpha: Upper_M :: Upper
+ Data.Char.Alpha: Upper_N :: Upper
+ Data.Char.Alpha: Upper_O :: Upper
+ Data.Char.Alpha: Upper_P :: Upper
+ Data.Char.Alpha: Upper_Q :: Upper
+ Data.Char.Alpha: Upper_R :: Upper
+ Data.Char.Alpha: Upper_S :: Upper
+ Data.Char.Alpha: Upper_T :: Upper
+ Data.Char.Alpha: Upper_U :: Upper
+ Data.Char.Alpha: Upper_V :: Upper
+ Data.Char.Alpha: Upper_W :: Upper
+ Data.Char.Alpha: Upper_X :: Upper
+ Data.Char.Alpha: Upper_Y :: Upper
+ Data.Char.Alpha: Upper_Z :: Upper
+ Data.Char.Alpha: V_V :: V_V
+ Data.Char.Alpha: V_v :: V_v
+ Data.Char.Alpha: W_W :: W_W
+ Data.Char.Alpha: W_w :: W_w
+ Data.Char.Alpha: X_X :: X_X
+ Data.Char.Alpha: X_x :: X_x
+ Data.Char.Alpha: Y_Y :: Y_Y
+ Data.Char.Alpha: Y_y :: Y_y
+ Data.Char.Alpha: Z_Z :: Z_Z
+ Data.Char.Alpha: Z_z :: Z_z
+ Data.Char.Alpha: _A :: CA x => x
+ Data.Char.Alpha: _A' :: CA x => Prism' x ()
+ Data.Char.Alpha: _B :: CB x => x
+ Data.Char.Alpha: _B' :: CB x => Prism' x ()
+ Data.Char.Alpha: _C :: CC x => x
+ Data.Char.Alpha: _C' :: CC x => Prism' x ()
+ Data.Char.Alpha: _D :: CD x => x
+ Data.Char.Alpha: _D' :: CD x => Prism' x ()
+ Data.Char.Alpha: _E :: CE x => x
+ Data.Char.Alpha: _E' :: CE x => Prism' x ()
+ Data.Char.Alpha: _F :: CF x => x
+ Data.Char.Alpha: _F' :: CF x => Prism' x ()
+ Data.Char.Alpha: _G :: CG x => x
+ Data.Char.Alpha: _G' :: CG x => Prism' x ()
+ Data.Char.Alpha: _H :: CH x => x
+ Data.Char.Alpha: _H' :: CH x => Prism' x ()
+ Data.Char.Alpha: _I :: CI x => x
+ Data.Char.Alpha: _I' :: CI x => Prism' x ()
+ Data.Char.Alpha: _J :: CJ x => x
+ Data.Char.Alpha: _J' :: CJ x => Prism' x ()
+ Data.Char.Alpha: _K :: CK x => x
+ Data.Char.Alpha: _K' :: CK x => Prism' x ()
+ Data.Char.Alpha: _L :: CL x => x
+ Data.Char.Alpha: _L' :: CL x => Prism' x ()
+ Data.Char.Alpha: _M :: CM x => x
+ Data.Char.Alpha: _M' :: CM x => Prism' x ()
+ Data.Char.Alpha: _N :: CN x => x
+ Data.Char.Alpha: _N' :: CN x => Prism' x ()
+ Data.Char.Alpha: _O :: CO x => x
+ Data.Char.Alpha: _O' :: CO x => Prism' x ()
+ Data.Char.Alpha: _P :: CP x => x
+ Data.Char.Alpha: _P' :: CP x => Prism' x ()
+ Data.Char.Alpha: _Q :: CQ x => x
+ Data.Char.Alpha: _Q' :: CQ x => Prism' x ()
+ Data.Char.Alpha: _R :: CR x => x
+ Data.Char.Alpha: _R' :: CR x => Prism' x ()
+ Data.Char.Alpha: _S :: CS x => x
+ Data.Char.Alpha: _S' :: CS x => Prism' x ()
+ Data.Char.Alpha: _T :: CT x => x
+ Data.Char.Alpha: _T' :: CT x => Prism' x ()
+ Data.Char.Alpha: _U :: CU x => x
+ Data.Char.Alpha: _U' :: CU x => Prism' x ()
+ Data.Char.Alpha: _V :: CV x => x
+ Data.Char.Alpha: _V' :: CV x => Prism' x ()
+ Data.Char.Alpha: _W :: CW x => x
+ Data.Char.Alpha: _W' :: CW x => Prism' x ()
+ Data.Char.Alpha: _X :: CX x => x
+ Data.Char.Alpha: _X' :: CX x => Prism' x ()
+ Data.Char.Alpha: _Y :: CY x => x
+ Data.Char.Alpha: _Y' :: CY x => Prism' x ()
+ Data.Char.Alpha: _Z :: CZ x => x
+ Data.Char.Alpha: _Z' :: CZ x => Prism' x ()
+ Data.Char.Alpha: _a :: Ca x => x
+ Data.Char.Alpha: _a' :: Ca x => Prism' x ()
+ Data.Char.Alpha: _b :: Cb x => x
+ Data.Char.Alpha: _b' :: Cb x => Prism' x ()
+ Data.Char.Alpha: _c :: Cc x => x
+ Data.Char.Alpha: _c' :: Cc x => Prism' x ()
+ Data.Char.Alpha: _d :: Cd x => x
+ Data.Char.Alpha: _d' :: Cd x => Prism' x ()
+ Data.Char.Alpha: _e :: Ce x => x
+ Data.Char.Alpha: _e' :: Ce x => Prism' x ()
+ Data.Char.Alpha: _f :: Cf x => x
+ Data.Char.Alpha: _f' :: Cf x => Prism' x ()
+ Data.Char.Alpha: _g :: Cg x => x
+ Data.Char.Alpha: _g' :: Cg x => Prism' x ()
+ Data.Char.Alpha: _h :: Ch x => x
+ Data.Char.Alpha: _h' :: Ch x => Prism' x ()
+ Data.Char.Alpha: _i :: Ci x => x
+ Data.Char.Alpha: _i' :: Ci x => Prism' x ()
+ Data.Char.Alpha: _j :: Cj x => x
+ Data.Char.Alpha: _j' :: Cj x => Prism' x ()
+ Data.Char.Alpha: _k :: Ck x => x
+ Data.Char.Alpha: _k' :: Ck x => Prism' x ()
+ Data.Char.Alpha: _l :: Cl x => x
+ Data.Char.Alpha: _l' :: Cl x => Prism' x ()
+ Data.Char.Alpha: _m :: Cm x => x
+ Data.Char.Alpha: _m' :: Cm x => Prism' x ()
+ Data.Char.Alpha: _n :: Cn x => x
+ Data.Char.Alpha: _n' :: Cn x => Prism' x ()
+ Data.Char.Alpha: _o :: Co x => x
+ Data.Char.Alpha: _o' :: Co x => Prism' x ()
+ Data.Char.Alpha: _p :: Cp x => x
+ Data.Char.Alpha: _p' :: Cp x => Prism' x ()
+ Data.Char.Alpha: _q :: Cq x => x
+ Data.Char.Alpha: _q' :: Cq x => Prism' x ()
+ Data.Char.Alpha: _r :: Cr x => x
+ Data.Char.Alpha: _r' :: Cr x => Prism' x ()
+ Data.Char.Alpha: _s :: Cs x => x
+ Data.Char.Alpha: _s' :: Cs x => Prism' x ()
+ Data.Char.Alpha: _t :: Ct x => x
+ Data.Char.Alpha: _t' :: Ct x => Prism' x ()
+ Data.Char.Alpha: _u :: Cu x => x
+ Data.Char.Alpha: _u' :: Cu x => Prism' x ()
+ Data.Char.Alpha: _v :: Cv x => x
+ Data.Char.Alpha: _v' :: Cv x => Prism' x ()
+ Data.Char.Alpha: _w :: Cw x => x
+ Data.Char.Alpha: _w' :: Cw x => Prism' x ()
+ Data.Char.Alpha: _x :: Cx x => x
+ Data.Char.Alpha: _x' :: Cx x => Prism' x ()
+ Data.Char.Alpha: _y :: Cy x => x
+ Data.Char.Alpha: _y' :: Cy x => Prism' x ()
+ Data.Char.Alpha: _z :: Cz x => x
+ Data.Char.Alpha: _z' :: Cz x => Prism' x ()
+ Data.Char.Alpha: class CA x
+ Data.Char.Alpha: class CB x
+ Data.Char.Alpha: class CC x
+ Data.Char.Alpha: class CD x
+ Data.Char.Alpha: class CE x
+ Data.Char.Alpha: class CF x
+ Data.Char.Alpha: class CG x
+ Data.Char.Alpha: class CH x
+ Data.Char.Alpha: class CI x
+ Data.Char.Alpha: class CJ x
+ Data.Char.Alpha: class CK x
+ Data.Char.Alpha: class CL x
+ Data.Char.Alpha: class CM x
+ Data.Char.Alpha: class CN x
+ Data.Char.Alpha: class CO x
+ Data.Char.Alpha: class CP x
+ Data.Char.Alpha: class CQ x
+ Data.Char.Alpha: class CR x
+ Data.Char.Alpha: class CS x
+ Data.Char.Alpha: class CT x
+ Data.Char.Alpha: class CU x
+ Data.Char.Alpha: class CV x
+ Data.Char.Alpha: class CW x
+ Data.Char.Alpha: class CX x
+ Data.Char.Alpha: class CY x
+ Data.Char.Alpha: class CZ x
+ Data.Char.Alpha: class Ca x
+ Data.Char.Alpha: class Cb x
+ Data.Char.Alpha: class Cc x
+ Data.Char.Alpha: class Cd x
+ Data.Char.Alpha: class Ce x
+ Data.Char.Alpha: class Cf x
+ Data.Char.Alpha: class Cg x
+ Data.Char.Alpha: class Ch x
+ Data.Char.Alpha: class Ci x
+ Data.Char.Alpha: class Cj x
+ Data.Char.Alpha: class Ck x
+ Data.Char.Alpha: class Cl x
+ Data.Char.Alpha: class Cm x
+ Data.Char.Alpha: class Cn x
+ Data.Char.Alpha: class Co x
+ Data.Char.Alpha: class Cp x
+ Data.Char.Alpha: class Cq x
+ Data.Char.Alpha: class Cr x
+ Data.Char.Alpha: class Cs x
+ Data.Char.Alpha: class Ct x
+ Data.Char.Alpha: class Cu x
+ Data.Char.Alpha: class Cv x
+ Data.Char.Alpha: class Cw x
+ Data.Char.Alpha: class Cx x
+ Data.Char.Alpha: class Cy x
+ Data.Char.Alpha: class Cz x
+ Data.Char.Alpha: data A_A
+ Data.Char.Alpha: data A_a
+ Data.Char.Alpha: data B_B
+ Data.Char.Alpha: data B_b
+ Data.Char.Alpha: data C_C
+ Data.Char.Alpha: data C_c
+ Data.Char.Alpha: data D_D
+ Data.Char.Alpha: data D_d
+ Data.Char.Alpha: data E_E
+ Data.Char.Alpha: data E_e
+ Data.Char.Alpha: data F_F
+ Data.Char.Alpha: data F_f
+ Data.Char.Alpha: data G_G
+ Data.Char.Alpha: data G_g
+ Data.Char.Alpha: data H_H
+ Data.Char.Alpha: data H_h
+ Data.Char.Alpha: data I_I
+ Data.Char.Alpha: data I_i
+ Data.Char.Alpha: data J_J
+ Data.Char.Alpha: data J_j
+ Data.Char.Alpha: data K_K
+ Data.Char.Alpha: data K_k
+ Data.Char.Alpha: data L_L
+ Data.Char.Alpha: data L_l
+ Data.Char.Alpha: data Lower
+ Data.Char.Alpha: data M_M
+ Data.Char.Alpha: data M_m
+ Data.Char.Alpha: data N_N
+ Data.Char.Alpha: data N_n
+ Data.Char.Alpha: data O_O
+ Data.Char.Alpha: data O_o
+ Data.Char.Alpha: data P_P
+ Data.Char.Alpha: data P_p
+ Data.Char.Alpha: data Q_Q
+ Data.Char.Alpha: data Q_q
+ Data.Char.Alpha: data R_R
+ Data.Char.Alpha: data R_r
+ Data.Char.Alpha: data S_S
+ Data.Char.Alpha: data S_s
+ Data.Char.Alpha: data T_T
+ Data.Char.Alpha: data T_t
+ Data.Char.Alpha: data U_U
+ Data.Char.Alpha: data U_u
+ Data.Char.Alpha: data Upper
+ Data.Char.Alpha: data V_V
+ Data.Char.Alpha: data V_v
+ Data.Char.Alpha: data W_W
+ Data.Char.Alpha: data W_w
+ Data.Char.Alpha: data X_X
+ Data.Char.Alpha: data X_x
+ Data.Char.Alpha: data Y_Y
+ Data.Char.Alpha: data Y_y
+ Data.Char.Alpha: data Z_Z
+ Data.Char.Alpha: data Z_z
+ Data.Char.Alpha: instance Data.Char.Alpha.CA ()
+ Data.Char.Alpha: instance Data.Char.Alpha.CA Data.Char.Alpha.A_A
+ Data.Char.Alpha: instance Data.Char.Alpha.CA Data.Char.Alpha.Alpha
+ Data.Char.Alpha: instance Data.Char.Alpha.CA Data.Char.Alpha.Upper
+ Data.Char.Alpha: instance Data.Char.Alpha.CA GHC.Types.Char
+ Data.Char.Alpha: instance Data.Char.Alpha.CB ()
+ Data.Char.Alpha: instance Data.Char.Alpha.CB Data.Char.Alpha.Alpha
+ Data.Char.Alpha: instance Data.Char.Alpha.CB Data.Char.Alpha.B_B
+ Data.Char.Alpha: instance Data.Char.Alpha.CB Data.Char.Alpha.Upper
+ Data.Char.Alpha: instance Data.Char.Alpha.CB GHC.Types.Char
+ Data.Char.Alpha: instance Data.Char.Alpha.CC ()
+ Data.Char.Alpha: instance Data.Char.Alpha.CC Data.Char.Alpha.Alpha
+ Data.Char.Alpha: instance Data.Char.Alpha.CC Data.Char.Alpha.C_C
+ Data.Char.Alpha: instance Data.Char.Alpha.CC Data.Char.Alpha.Upper
+ Data.Char.Alpha: instance Data.Char.Alpha.CC GHC.Types.Char
+ Data.Char.Alpha: instance Data.Char.Alpha.CD ()
+ Data.Char.Alpha: instance Data.Char.Alpha.CD Data.Char.Alpha.Alpha
+ Data.Char.Alpha: instance Data.Char.Alpha.CD Data.Char.Alpha.D_D
+ Data.Char.Alpha: instance Data.Char.Alpha.CD Data.Char.Alpha.Upper
+ Data.Char.Alpha: instance Data.Char.Alpha.CD GHC.Types.Char
+ Data.Char.Alpha: instance Data.Char.Alpha.CE ()
+ Data.Char.Alpha: instance Data.Char.Alpha.CE Data.Char.Alpha.Alpha
+ Data.Char.Alpha: instance Data.Char.Alpha.CE Data.Char.Alpha.E_E
+ Data.Char.Alpha: instance Data.Char.Alpha.CE Data.Char.Alpha.Upper
+ Data.Char.Alpha: instance Data.Char.Alpha.CE GHC.Types.Char
+ Data.Char.Alpha: instance Data.Char.Alpha.CF ()
+ Data.Char.Alpha: instance Data.Char.Alpha.CF Data.Char.Alpha.Alpha
+ Data.Char.Alpha: instance Data.Char.Alpha.CF Data.Char.Alpha.F_F
+ Data.Char.Alpha: instance Data.Char.Alpha.CF Data.Char.Alpha.Upper
+ Data.Char.Alpha: instance Data.Char.Alpha.CF GHC.Types.Char
+ Data.Char.Alpha: instance Data.Char.Alpha.CG ()
+ Data.Char.Alpha: instance Data.Char.Alpha.CG Data.Char.Alpha.Alpha
+ Data.Char.Alpha: instance Data.Char.Alpha.CG Data.Char.Alpha.G_G
+ Data.Char.Alpha: instance Data.Char.Alpha.CG Data.Char.Alpha.Upper
+ Data.Char.Alpha: instance Data.Char.Alpha.CG GHC.Types.Char
+ Data.Char.Alpha: instance Data.Char.Alpha.CH ()
+ Data.Char.Alpha: instance Data.Char.Alpha.CH Data.Char.Alpha.Alpha
+ Data.Char.Alpha: instance Data.Char.Alpha.CH Data.Char.Alpha.H_H
+ Data.Char.Alpha: instance Data.Char.Alpha.CH Data.Char.Alpha.Upper
+ Data.Char.Alpha: instance Data.Char.Alpha.CH GHC.Types.Char
+ Data.Char.Alpha: instance Data.Char.Alpha.CI ()
+ Data.Char.Alpha: instance Data.Char.Alpha.CI Data.Char.Alpha.Alpha
+ Data.Char.Alpha: instance Data.Char.Alpha.CI Data.Char.Alpha.I_I
+ Data.Char.Alpha: instance Data.Char.Alpha.CI Data.Char.Alpha.Upper
+ Data.Char.Alpha: instance Data.Char.Alpha.CI GHC.Types.Char
+ Data.Char.Alpha: instance Data.Char.Alpha.CJ ()
+ Data.Char.Alpha: instance Data.Char.Alpha.CJ Data.Char.Alpha.Alpha
+ Data.Char.Alpha: instance Data.Char.Alpha.CJ Data.Char.Alpha.J_J
+ Data.Char.Alpha: instance Data.Char.Alpha.CJ Data.Char.Alpha.Upper
+ Data.Char.Alpha: instance Data.Char.Alpha.CJ GHC.Types.Char
+ Data.Char.Alpha: instance Data.Char.Alpha.CK ()
+ Data.Char.Alpha: instance Data.Char.Alpha.CK Data.Char.Alpha.Alpha
+ Data.Char.Alpha: instance Data.Char.Alpha.CK Data.Char.Alpha.K_K
+ Data.Char.Alpha: instance Data.Char.Alpha.CK Data.Char.Alpha.Upper
+ Data.Char.Alpha: instance Data.Char.Alpha.CK GHC.Types.Char
+ Data.Char.Alpha: instance Data.Char.Alpha.CL ()
+ Data.Char.Alpha: instance Data.Char.Alpha.CL Data.Char.Alpha.Alpha
+ Data.Char.Alpha: instance Data.Char.Alpha.CL Data.Char.Alpha.L_L
+ Data.Char.Alpha: instance Data.Char.Alpha.CL Data.Char.Alpha.Upper
+ Data.Char.Alpha: instance Data.Char.Alpha.CL GHC.Types.Char
+ Data.Char.Alpha: instance Data.Char.Alpha.CM ()
+ Data.Char.Alpha: instance Data.Char.Alpha.CM Data.Char.Alpha.Alpha
+ Data.Char.Alpha: instance Data.Char.Alpha.CM Data.Char.Alpha.M_M
+ Data.Char.Alpha: instance Data.Char.Alpha.CM Data.Char.Alpha.Upper
+ Data.Char.Alpha: instance Data.Char.Alpha.CM GHC.Types.Char
+ Data.Char.Alpha: instance Data.Char.Alpha.CN ()
+ Data.Char.Alpha: instance Data.Char.Alpha.CN Data.Char.Alpha.Alpha
+ Data.Char.Alpha: instance Data.Char.Alpha.CN Data.Char.Alpha.N_N
+ Data.Char.Alpha: instance Data.Char.Alpha.CN Data.Char.Alpha.Upper
+ Data.Char.Alpha: instance Data.Char.Alpha.CN GHC.Types.Char
+ Data.Char.Alpha: instance Data.Char.Alpha.CO ()
+ Data.Char.Alpha: instance Data.Char.Alpha.CO Data.Char.Alpha.Alpha
+ Data.Char.Alpha: instance Data.Char.Alpha.CO Data.Char.Alpha.O_O
+ Data.Char.Alpha: instance Data.Char.Alpha.CO Data.Char.Alpha.Upper
+ Data.Char.Alpha: instance Data.Char.Alpha.CO GHC.Types.Char
+ Data.Char.Alpha: instance Data.Char.Alpha.CP ()
+ Data.Char.Alpha: instance Data.Char.Alpha.CP Data.Char.Alpha.Alpha
+ Data.Char.Alpha: instance Data.Char.Alpha.CP Data.Char.Alpha.P_P
+ Data.Char.Alpha: instance Data.Char.Alpha.CP Data.Char.Alpha.Upper
+ Data.Char.Alpha: instance Data.Char.Alpha.CP GHC.Types.Char
+ Data.Char.Alpha: instance Data.Char.Alpha.CQ ()
+ Data.Char.Alpha: instance Data.Char.Alpha.CQ Data.Char.Alpha.Alpha
+ Data.Char.Alpha: instance Data.Char.Alpha.CQ Data.Char.Alpha.Q_Q
+ Data.Char.Alpha: instance Data.Char.Alpha.CQ Data.Char.Alpha.Upper
+ Data.Char.Alpha: instance Data.Char.Alpha.CQ GHC.Types.Char
+ Data.Char.Alpha: instance Data.Char.Alpha.CR ()
+ Data.Char.Alpha: instance Data.Char.Alpha.CR Data.Char.Alpha.Alpha
+ Data.Char.Alpha: instance Data.Char.Alpha.CR Data.Char.Alpha.R_R
+ Data.Char.Alpha: instance Data.Char.Alpha.CR Data.Char.Alpha.Upper
+ Data.Char.Alpha: instance Data.Char.Alpha.CR GHC.Types.Char
+ Data.Char.Alpha: instance Data.Char.Alpha.CS ()
+ Data.Char.Alpha: instance Data.Char.Alpha.CS Data.Char.Alpha.Alpha
+ Data.Char.Alpha: instance Data.Char.Alpha.CS Data.Char.Alpha.S_S
+ Data.Char.Alpha: instance Data.Char.Alpha.CS Data.Char.Alpha.Upper
+ Data.Char.Alpha: instance Data.Char.Alpha.CS GHC.Types.Char
+ Data.Char.Alpha: instance Data.Char.Alpha.CT ()
+ Data.Char.Alpha: instance Data.Char.Alpha.CT Data.Char.Alpha.Alpha
+ Data.Char.Alpha: instance Data.Char.Alpha.CT Data.Char.Alpha.T_T
+ Data.Char.Alpha: instance Data.Char.Alpha.CT Data.Char.Alpha.Upper
+ Data.Char.Alpha: instance Data.Char.Alpha.CT GHC.Types.Char
+ Data.Char.Alpha: instance Data.Char.Alpha.CU ()
+ Data.Char.Alpha: instance Data.Char.Alpha.CU Data.Char.Alpha.Alpha
+ Data.Char.Alpha: instance Data.Char.Alpha.CU Data.Char.Alpha.U_U
+ Data.Char.Alpha: instance Data.Char.Alpha.CU Data.Char.Alpha.Upper
+ Data.Char.Alpha: instance Data.Char.Alpha.CU GHC.Types.Char
+ Data.Char.Alpha: instance Data.Char.Alpha.CV ()
+ Data.Char.Alpha: instance Data.Char.Alpha.CV Data.Char.Alpha.Alpha
+ Data.Char.Alpha: instance Data.Char.Alpha.CV Data.Char.Alpha.Upper
+ Data.Char.Alpha: instance Data.Char.Alpha.CV Data.Char.Alpha.V_V
+ Data.Char.Alpha: instance Data.Char.Alpha.CV GHC.Types.Char
+ Data.Char.Alpha: instance Data.Char.Alpha.CW ()
+ Data.Char.Alpha: instance Data.Char.Alpha.CW Data.Char.Alpha.Alpha
+ Data.Char.Alpha: instance Data.Char.Alpha.CW Data.Char.Alpha.Upper
+ Data.Char.Alpha: instance Data.Char.Alpha.CW Data.Char.Alpha.W_W
+ Data.Char.Alpha: instance Data.Char.Alpha.CW GHC.Types.Char
+ Data.Char.Alpha: instance Data.Char.Alpha.CX ()
+ Data.Char.Alpha: instance Data.Char.Alpha.CX Data.Char.Alpha.Alpha
+ Data.Char.Alpha: instance Data.Char.Alpha.CX Data.Char.Alpha.Upper
+ Data.Char.Alpha: instance Data.Char.Alpha.CX Data.Char.Alpha.X_X
+ Data.Char.Alpha: instance Data.Char.Alpha.CX GHC.Types.Char
+ Data.Char.Alpha: instance Data.Char.Alpha.CY ()
+ Data.Char.Alpha: instance Data.Char.Alpha.CY Data.Char.Alpha.Alpha
+ Data.Char.Alpha: instance Data.Char.Alpha.CY Data.Char.Alpha.Upper
+ Data.Char.Alpha: instance Data.Char.Alpha.CY Data.Char.Alpha.Y_Y
+ Data.Char.Alpha: instance Data.Char.Alpha.CY GHC.Types.Char
+ Data.Char.Alpha: instance Data.Char.Alpha.CZ ()
+ Data.Char.Alpha: instance Data.Char.Alpha.CZ Data.Char.Alpha.Alpha
+ Data.Char.Alpha: instance Data.Char.Alpha.CZ Data.Char.Alpha.Upper
+ Data.Char.Alpha: instance Data.Char.Alpha.CZ Data.Char.Alpha.Z_Z
+ Data.Char.Alpha: instance Data.Char.Alpha.CZ GHC.Types.Char
+ Data.Char.Alpha: instance Data.Char.Alpha.Ca ()
+ Data.Char.Alpha: instance Data.Char.Alpha.Ca Data.Char.Alpha.A_a
+ Data.Char.Alpha: instance Data.Char.Alpha.Ca Data.Char.Alpha.Alpha
+ Data.Char.Alpha: instance Data.Char.Alpha.Ca Data.Char.Alpha.Lower
+ Data.Char.Alpha: instance Data.Char.Alpha.Ca GHC.Types.Char
+ Data.Char.Alpha: instance Data.Char.Alpha.Cb ()
+ Data.Char.Alpha: instance Data.Char.Alpha.Cb Data.Char.Alpha.Alpha
+ Data.Char.Alpha: instance Data.Char.Alpha.Cb Data.Char.Alpha.B_b
+ Data.Char.Alpha: instance Data.Char.Alpha.Cb Data.Char.Alpha.Lower
+ Data.Char.Alpha: instance Data.Char.Alpha.Cb GHC.Types.Char
+ Data.Char.Alpha: instance Data.Char.Alpha.Cc ()
+ Data.Char.Alpha: instance Data.Char.Alpha.Cc Data.Char.Alpha.Alpha
+ Data.Char.Alpha: instance Data.Char.Alpha.Cc Data.Char.Alpha.C_c
+ Data.Char.Alpha: instance Data.Char.Alpha.Cc Data.Char.Alpha.Lower
+ Data.Char.Alpha: instance Data.Char.Alpha.Cc GHC.Types.Char
+ Data.Char.Alpha: instance Data.Char.Alpha.Cd ()
+ Data.Char.Alpha: instance Data.Char.Alpha.Cd Data.Char.Alpha.Alpha
+ Data.Char.Alpha: instance Data.Char.Alpha.Cd Data.Char.Alpha.D_d
+ Data.Char.Alpha: instance Data.Char.Alpha.Cd Data.Char.Alpha.Lower
+ Data.Char.Alpha: instance Data.Char.Alpha.Cd GHC.Types.Char
+ Data.Char.Alpha: instance Data.Char.Alpha.Ce ()
+ Data.Char.Alpha: instance Data.Char.Alpha.Ce Data.Char.Alpha.Alpha
+ Data.Char.Alpha: instance Data.Char.Alpha.Ce Data.Char.Alpha.E_e
+ Data.Char.Alpha: instance Data.Char.Alpha.Ce Data.Char.Alpha.Lower
+ Data.Char.Alpha: instance Data.Char.Alpha.Ce GHC.Types.Char
+ Data.Char.Alpha: instance Data.Char.Alpha.Cf ()
+ Data.Char.Alpha: instance Data.Char.Alpha.Cf Data.Char.Alpha.Alpha
+ Data.Char.Alpha: instance Data.Char.Alpha.Cf Data.Char.Alpha.F_f
+ Data.Char.Alpha: instance Data.Char.Alpha.Cf Data.Char.Alpha.Lower
+ Data.Char.Alpha: instance Data.Char.Alpha.Cf GHC.Types.Char
+ Data.Char.Alpha: instance Data.Char.Alpha.Cg ()
+ Data.Char.Alpha: instance Data.Char.Alpha.Cg Data.Char.Alpha.Alpha
+ Data.Char.Alpha: instance Data.Char.Alpha.Cg Data.Char.Alpha.G_g
+ Data.Char.Alpha: instance Data.Char.Alpha.Cg Data.Char.Alpha.Lower
+ Data.Char.Alpha: instance Data.Char.Alpha.Cg GHC.Types.Char
+ Data.Char.Alpha: instance Data.Char.Alpha.Ch ()
+ Data.Char.Alpha: instance Data.Char.Alpha.Ch Data.Char.Alpha.Alpha
+ Data.Char.Alpha: instance Data.Char.Alpha.Ch Data.Char.Alpha.H_h
+ Data.Char.Alpha: instance Data.Char.Alpha.Ch Data.Char.Alpha.Lower
+ Data.Char.Alpha: instance Data.Char.Alpha.Ch GHC.Types.Char
+ Data.Char.Alpha: instance Data.Char.Alpha.Ci ()
+ Data.Char.Alpha: instance Data.Char.Alpha.Ci Data.Char.Alpha.Alpha
+ Data.Char.Alpha: instance Data.Char.Alpha.Ci Data.Char.Alpha.I_i
+ Data.Char.Alpha: instance Data.Char.Alpha.Ci Data.Char.Alpha.Lower
+ Data.Char.Alpha: instance Data.Char.Alpha.Ci GHC.Types.Char
+ Data.Char.Alpha: instance Data.Char.Alpha.Cj ()
+ Data.Char.Alpha: instance Data.Char.Alpha.Cj Data.Char.Alpha.Alpha
+ Data.Char.Alpha: instance Data.Char.Alpha.Cj Data.Char.Alpha.J_j
+ Data.Char.Alpha: instance Data.Char.Alpha.Cj Data.Char.Alpha.Lower
+ Data.Char.Alpha: instance Data.Char.Alpha.Cj GHC.Types.Char
+ Data.Char.Alpha: instance Data.Char.Alpha.Ck ()
+ Data.Char.Alpha: instance Data.Char.Alpha.Ck Data.Char.Alpha.Alpha
+ Data.Char.Alpha: instance Data.Char.Alpha.Ck Data.Char.Alpha.K_k
+ Data.Char.Alpha: instance Data.Char.Alpha.Ck Data.Char.Alpha.Lower
+ Data.Char.Alpha: instance Data.Char.Alpha.Ck GHC.Types.Char
+ Data.Char.Alpha: instance Data.Char.Alpha.Cl ()
+ Data.Char.Alpha: instance Data.Char.Alpha.Cl Data.Char.Alpha.Alpha
+ Data.Char.Alpha: instance Data.Char.Alpha.Cl Data.Char.Alpha.L_l
+ Data.Char.Alpha: instance Data.Char.Alpha.Cl Data.Char.Alpha.Lower
+ Data.Char.Alpha: instance Data.Char.Alpha.Cl GHC.Types.Char
+ Data.Char.Alpha: instance Data.Char.Alpha.Cm ()
+ Data.Char.Alpha: instance Data.Char.Alpha.Cm Data.Char.Alpha.Alpha
+ Data.Char.Alpha: instance Data.Char.Alpha.Cm Data.Char.Alpha.Lower
+ Data.Char.Alpha: instance Data.Char.Alpha.Cm Data.Char.Alpha.M_m
+ Data.Char.Alpha: instance Data.Char.Alpha.Cm GHC.Types.Char
+ Data.Char.Alpha: instance Data.Char.Alpha.Cn ()
+ Data.Char.Alpha: instance Data.Char.Alpha.Cn Data.Char.Alpha.Alpha
+ Data.Char.Alpha: instance Data.Char.Alpha.Cn Data.Char.Alpha.Lower
+ Data.Char.Alpha: instance Data.Char.Alpha.Cn Data.Char.Alpha.N_n
+ Data.Char.Alpha: instance Data.Char.Alpha.Cn GHC.Types.Char
+ Data.Char.Alpha: instance Data.Char.Alpha.Co ()
+ Data.Char.Alpha: instance Data.Char.Alpha.Co Data.Char.Alpha.Alpha
+ Data.Char.Alpha: instance Data.Char.Alpha.Co Data.Char.Alpha.Lower
+ Data.Char.Alpha: instance Data.Char.Alpha.Co Data.Char.Alpha.O_o
+ Data.Char.Alpha: instance Data.Char.Alpha.Co GHC.Types.Char
+ Data.Char.Alpha: instance Data.Char.Alpha.Cp ()
+ Data.Char.Alpha: instance Data.Char.Alpha.Cp Data.Char.Alpha.Alpha
+ Data.Char.Alpha: instance Data.Char.Alpha.Cp Data.Char.Alpha.Lower
+ Data.Char.Alpha: instance Data.Char.Alpha.Cp Data.Char.Alpha.P_p
+ Data.Char.Alpha: instance Data.Char.Alpha.Cp GHC.Types.Char
+ Data.Char.Alpha: instance Data.Char.Alpha.Cq ()
+ Data.Char.Alpha: instance Data.Char.Alpha.Cq Data.Char.Alpha.Alpha
+ Data.Char.Alpha: instance Data.Char.Alpha.Cq Data.Char.Alpha.Lower
+ Data.Char.Alpha: instance Data.Char.Alpha.Cq Data.Char.Alpha.Q_q
+ Data.Char.Alpha: instance Data.Char.Alpha.Cq GHC.Types.Char
+ Data.Char.Alpha: instance Data.Char.Alpha.Cr ()
+ Data.Char.Alpha: instance Data.Char.Alpha.Cr Data.Char.Alpha.Alpha
+ Data.Char.Alpha: instance Data.Char.Alpha.Cr Data.Char.Alpha.Lower
+ Data.Char.Alpha: instance Data.Char.Alpha.Cr Data.Char.Alpha.R_r
+ Data.Char.Alpha: instance Data.Char.Alpha.Cr GHC.Types.Char
+ Data.Char.Alpha: instance Data.Char.Alpha.Cs ()
+ Data.Char.Alpha: instance Data.Char.Alpha.Cs Data.Char.Alpha.Alpha
+ Data.Char.Alpha: instance Data.Char.Alpha.Cs Data.Char.Alpha.Lower
+ Data.Char.Alpha: instance Data.Char.Alpha.Cs Data.Char.Alpha.S_s
+ Data.Char.Alpha: instance Data.Char.Alpha.Cs GHC.Types.Char
+ Data.Char.Alpha: instance Data.Char.Alpha.Ct ()
+ Data.Char.Alpha: instance Data.Char.Alpha.Ct Data.Char.Alpha.Alpha
+ Data.Char.Alpha: instance Data.Char.Alpha.Ct Data.Char.Alpha.Lower
+ Data.Char.Alpha: instance Data.Char.Alpha.Ct Data.Char.Alpha.T_t
+ Data.Char.Alpha: instance Data.Char.Alpha.Ct GHC.Types.Char
+ Data.Char.Alpha: instance Data.Char.Alpha.Cu ()
+ Data.Char.Alpha: instance Data.Char.Alpha.Cu Data.Char.Alpha.Alpha
+ Data.Char.Alpha: instance Data.Char.Alpha.Cu Data.Char.Alpha.Lower
+ Data.Char.Alpha: instance Data.Char.Alpha.Cu Data.Char.Alpha.U_u
+ Data.Char.Alpha: instance Data.Char.Alpha.Cu GHC.Types.Char
+ Data.Char.Alpha: instance Data.Char.Alpha.Cv ()
+ Data.Char.Alpha: instance Data.Char.Alpha.Cv Data.Char.Alpha.Alpha
+ Data.Char.Alpha: instance Data.Char.Alpha.Cv Data.Char.Alpha.Lower
+ Data.Char.Alpha: instance Data.Char.Alpha.Cv Data.Char.Alpha.V_v
+ Data.Char.Alpha: instance Data.Char.Alpha.Cv GHC.Types.Char
+ Data.Char.Alpha: instance Data.Char.Alpha.Cw ()
+ Data.Char.Alpha: instance Data.Char.Alpha.Cw Data.Char.Alpha.Alpha
+ Data.Char.Alpha: instance Data.Char.Alpha.Cw Data.Char.Alpha.Lower
+ Data.Char.Alpha: instance Data.Char.Alpha.Cw Data.Char.Alpha.W_w
+ Data.Char.Alpha: instance Data.Char.Alpha.Cw GHC.Types.Char
+ Data.Char.Alpha: instance Data.Char.Alpha.Cx ()
+ Data.Char.Alpha: instance Data.Char.Alpha.Cx Data.Char.Alpha.Alpha
+ Data.Char.Alpha: instance Data.Char.Alpha.Cx Data.Char.Alpha.Lower
+ Data.Char.Alpha: instance Data.Char.Alpha.Cx Data.Char.Alpha.X_x
+ Data.Char.Alpha: instance Data.Char.Alpha.Cx GHC.Types.Char
+ Data.Char.Alpha: instance Data.Char.Alpha.Cy ()
+ Data.Char.Alpha: instance Data.Char.Alpha.Cy Data.Char.Alpha.Alpha
+ Data.Char.Alpha: instance Data.Char.Alpha.Cy Data.Char.Alpha.Lower
+ Data.Char.Alpha: instance Data.Char.Alpha.Cy Data.Char.Alpha.Y_y
+ Data.Char.Alpha: instance Data.Char.Alpha.Cy GHC.Types.Char
+ Data.Char.Alpha: instance Data.Char.Alpha.Cz ()
+ Data.Char.Alpha: instance Data.Char.Alpha.Cz Data.Char.Alpha.Alpha
+ Data.Char.Alpha: instance Data.Char.Alpha.Cz Data.Char.Alpha.Lower
+ Data.Char.Alpha: instance Data.Char.Alpha.Cz Data.Char.Alpha.Z_z
+ Data.Char.Alpha: instance Data.Char.Alpha.Cz GHC.Types.Char
+ Data.Char.Alpha: instance GHC.Classes.Eq Data.Char.Alpha.A_A
+ Data.Char.Alpha: instance GHC.Classes.Eq Data.Char.Alpha.A_a
+ Data.Char.Alpha: instance GHC.Classes.Eq Data.Char.Alpha.B_B
+ Data.Char.Alpha: instance GHC.Classes.Eq Data.Char.Alpha.B_b
+ Data.Char.Alpha: instance GHC.Classes.Eq Data.Char.Alpha.C_C
+ Data.Char.Alpha: instance GHC.Classes.Eq Data.Char.Alpha.C_c
+ Data.Char.Alpha: instance GHC.Classes.Eq Data.Char.Alpha.D_D
+ Data.Char.Alpha: instance GHC.Classes.Eq Data.Char.Alpha.D_d
+ Data.Char.Alpha: instance GHC.Classes.Eq Data.Char.Alpha.E_E
+ Data.Char.Alpha: instance GHC.Classes.Eq Data.Char.Alpha.E_e
+ Data.Char.Alpha: instance GHC.Classes.Eq Data.Char.Alpha.F_F
+ Data.Char.Alpha: instance GHC.Classes.Eq Data.Char.Alpha.F_f
+ Data.Char.Alpha: instance GHC.Classes.Eq Data.Char.Alpha.G_G
+ Data.Char.Alpha: instance GHC.Classes.Eq Data.Char.Alpha.G_g
+ Data.Char.Alpha: instance GHC.Classes.Eq Data.Char.Alpha.H_H
+ Data.Char.Alpha: instance GHC.Classes.Eq Data.Char.Alpha.H_h
+ Data.Char.Alpha: instance GHC.Classes.Eq Data.Char.Alpha.I_I
+ Data.Char.Alpha: instance GHC.Classes.Eq Data.Char.Alpha.I_i
+ Data.Char.Alpha: instance GHC.Classes.Eq Data.Char.Alpha.J_J
+ Data.Char.Alpha: instance GHC.Classes.Eq Data.Char.Alpha.J_j
+ Data.Char.Alpha: instance GHC.Classes.Eq Data.Char.Alpha.K_K
+ Data.Char.Alpha: instance GHC.Classes.Eq Data.Char.Alpha.K_k
+ Data.Char.Alpha: instance GHC.Classes.Eq Data.Char.Alpha.L_L
+ Data.Char.Alpha: instance GHC.Classes.Eq Data.Char.Alpha.L_l
+ Data.Char.Alpha: instance GHC.Classes.Eq Data.Char.Alpha.Lower
+ Data.Char.Alpha: instance GHC.Classes.Eq Data.Char.Alpha.M_M
+ Data.Char.Alpha: instance GHC.Classes.Eq Data.Char.Alpha.M_m
+ Data.Char.Alpha: instance GHC.Classes.Eq Data.Char.Alpha.N_N
+ Data.Char.Alpha: instance GHC.Classes.Eq Data.Char.Alpha.N_n
+ Data.Char.Alpha: instance GHC.Classes.Eq Data.Char.Alpha.O_O
+ Data.Char.Alpha: instance GHC.Classes.Eq Data.Char.Alpha.O_o
+ Data.Char.Alpha: instance GHC.Classes.Eq Data.Char.Alpha.P_P
+ Data.Char.Alpha: instance GHC.Classes.Eq Data.Char.Alpha.P_p
+ Data.Char.Alpha: instance GHC.Classes.Eq Data.Char.Alpha.Q_Q
+ Data.Char.Alpha: instance GHC.Classes.Eq Data.Char.Alpha.Q_q
+ Data.Char.Alpha: instance GHC.Classes.Eq Data.Char.Alpha.R_R
+ Data.Char.Alpha: instance GHC.Classes.Eq Data.Char.Alpha.R_r
+ Data.Char.Alpha: instance GHC.Classes.Eq Data.Char.Alpha.S_S
+ Data.Char.Alpha: instance GHC.Classes.Eq Data.Char.Alpha.S_s
+ Data.Char.Alpha: instance GHC.Classes.Eq Data.Char.Alpha.T_T
+ Data.Char.Alpha: instance GHC.Classes.Eq Data.Char.Alpha.T_t
+ Data.Char.Alpha: instance GHC.Classes.Eq Data.Char.Alpha.U_U
+ Data.Char.Alpha: instance GHC.Classes.Eq Data.Char.Alpha.U_u
+ Data.Char.Alpha: instance GHC.Classes.Eq Data.Char.Alpha.Upper
+ Data.Char.Alpha: instance GHC.Classes.Eq Data.Char.Alpha.V_V
+ Data.Char.Alpha: instance GHC.Classes.Eq Data.Char.Alpha.V_v
+ Data.Char.Alpha: instance GHC.Classes.Eq Data.Char.Alpha.W_W
+ Data.Char.Alpha: instance GHC.Classes.Eq Data.Char.Alpha.W_w
+ Data.Char.Alpha: instance GHC.Classes.Eq Data.Char.Alpha.X_X
+ Data.Char.Alpha: instance GHC.Classes.Eq Data.Char.Alpha.X_x
+ Data.Char.Alpha: instance GHC.Classes.Eq Data.Char.Alpha.Y_Y
+ Data.Char.Alpha: instance GHC.Classes.Eq Data.Char.Alpha.Y_y
+ Data.Char.Alpha: instance GHC.Classes.Eq Data.Char.Alpha.Z_Z
+ Data.Char.Alpha: instance GHC.Classes.Eq Data.Char.Alpha.Z_z
+ Data.Char.Alpha: instance GHC.Classes.Ord Data.Char.Alpha.A_A
+ Data.Char.Alpha: instance GHC.Classes.Ord Data.Char.Alpha.A_a
+ Data.Char.Alpha: instance GHC.Classes.Ord Data.Char.Alpha.B_B
+ Data.Char.Alpha: instance GHC.Classes.Ord Data.Char.Alpha.B_b
+ Data.Char.Alpha: instance GHC.Classes.Ord Data.Char.Alpha.C_C
+ Data.Char.Alpha: instance GHC.Classes.Ord Data.Char.Alpha.C_c
+ Data.Char.Alpha: instance GHC.Classes.Ord Data.Char.Alpha.D_D
+ Data.Char.Alpha: instance GHC.Classes.Ord Data.Char.Alpha.D_d
+ Data.Char.Alpha: instance GHC.Classes.Ord Data.Char.Alpha.E_E
+ Data.Char.Alpha: instance GHC.Classes.Ord Data.Char.Alpha.E_e
+ Data.Char.Alpha: instance GHC.Classes.Ord Data.Char.Alpha.F_F
+ Data.Char.Alpha: instance GHC.Classes.Ord Data.Char.Alpha.F_f
+ Data.Char.Alpha: instance GHC.Classes.Ord Data.Char.Alpha.G_G
+ Data.Char.Alpha: instance GHC.Classes.Ord Data.Char.Alpha.G_g
+ Data.Char.Alpha: instance GHC.Classes.Ord Data.Char.Alpha.H_H
+ Data.Char.Alpha: instance GHC.Classes.Ord Data.Char.Alpha.H_h
+ Data.Char.Alpha: instance GHC.Classes.Ord Data.Char.Alpha.I_I
+ Data.Char.Alpha: instance GHC.Classes.Ord Data.Char.Alpha.I_i
+ Data.Char.Alpha: instance GHC.Classes.Ord Data.Char.Alpha.J_J
+ Data.Char.Alpha: instance GHC.Classes.Ord Data.Char.Alpha.J_j
+ Data.Char.Alpha: instance GHC.Classes.Ord Data.Char.Alpha.K_K
+ Data.Char.Alpha: instance GHC.Classes.Ord Data.Char.Alpha.K_k
+ Data.Char.Alpha: instance GHC.Classes.Ord Data.Char.Alpha.L_L
+ Data.Char.Alpha: instance GHC.Classes.Ord Data.Char.Alpha.L_l
+ Data.Char.Alpha: instance GHC.Classes.Ord Data.Char.Alpha.Lower
+ Data.Char.Alpha: instance GHC.Classes.Ord Data.Char.Alpha.M_M
+ Data.Char.Alpha: instance GHC.Classes.Ord Data.Char.Alpha.M_m
+ Data.Char.Alpha: instance GHC.Classes.Ord Data.Char.Alpha.N_N
+ Data.Char.Alpha: instance GHC.Classes.Ord Data.Char.Alpha.N_n
+ Data.Char.Alpha: instance GHC.Classes.Ord Data.Char.Alpha.O_O
+ Data.Char.Alpha: instance GHC.Classes.Ord Data.Char.Alpha.O_o
+ Data.Char.Alpha: instance GHC.Classes.Ord Data.Char.Alpha.P_P
+ Data.Char.Alpha: instance GHC.Classes.Ord Data.Char.Alpha.P_p
+ Data.Char.Alpha: instance GHC.Classes.Ord Data.Char.Alpha.Q_Q
+ Data.Char.Alpha: instance GHC.Classes.Ord Data.Char.Alpha.Q_q
+ Data.Char.Alpha: instance GHC.Classes.Ord Data.Char.Alpha.R_R
+ Data.Char.Alpha: instance GHC.Classes.Ord Data.Char.Alpha.R_r
+ Data.Char.Alpha: instance GHC.Classes.Ord Data.Char.Alpha.S_S
+ Data.Char.Alpha: instance GHC.Classes.Ord Data.Char.Alpha.S_s
+ Data.Char.Alpha: instance GHC.Classes.Ord Data.Char.Alpha.T_T
+ Data.Char.Alpha: instance GHC.Classes.Ord Data.Char.Alpha.T_t
+ Data.Char.Alpha: instance GHC.Classes.Ord Data.Char.Alpha.U_U
+ Data.Char.Alpha: instance GHC.Classes.Ord Data.Char.Alpha.U_u
+ Data.Char.Alpha: instance GHC.Classes.Ord Data.Char.Alpha.Upper
+ Data.Char.Alpha: instance GHC.Classes.Ord Data.Char.Alpha.V_V
+ Data.Char.Alpha: instance GHC.Classes.Ord Data.Char.Alpha.V_v
+ Data.Char.Alpha: instance GHC.Classes.Ord Data.Char.Alpha.W_W
+ Data.Char.Alpha: instance GHC.Classes.Ord Data.Char.Alpha.W_w
+ Data.Char.Alpha: instance GHC.Classes.Ord Data.Char.Alpha.X_X
+ Data.Char.Alpha: instance GHC.Classes.Ord Data.Char.Alpha.X_x
+ Data.Char.Alpha: instance GHC.Classes.Ord Data.Char.Alpha.Y_Y
+ Data.Char.Alpha: instance GHC.Classes.Ord Data.Char.Alpha.Y_y
+ Data.Char.Alpha: instance GHC.Classes.Ord Data.Char.Alpha.Z_Z
+ Data.Char.Alpha: instance GHC.Classes.Ord Data.Char.Alpha.Z_z
+ Data.Char.Alpha: instance GHC.Generics.Generic Data.Char.Alpha.A_A
+ Data.Char.Alpha: instance GHC.Generics.Generic Data.Char.Alpha.A_a
+ Data.Char.Alpha: instance GHC.Generics.Generic Data.Char.Alpha.Alpha
+ Data.Char.Alpha: instance GHC.Generics.Generic Data.Char.Alpha.B_B
+ Data.Char.Alpha: instance GHC.Generics.Generic Data.Char.Alpha.B_b
+ Data.Char.Alpha: instance GHC.Generics.Generic Data.Char.Alpha.C_C
+ Data.Char.Alpha: instance GHC.Generics.Generic Data.Char.Alpha.C_c
+ Data.Char.Alpha: instance GHC.Generics.Generic Data.Char.Alpha.D_D
+ Data.Char.Alpha: instance GHC.Generics.Generic Data.Char.Alpha.D_d
+ Data.Char.Alpha: instance GHC.Generics.Generic Data.Char.Alpha.E_E
+ Data.Char.Alpha: instance GHC.Generics.Generic Data.Char.Alpha.E_e
+ Data.Char.Alpha: instance GHC.Generics.Generic Data.Char.Alpha.F_F
+ Data.Char.Alpha: instance GHC.Generics.Generic Data.Char.Alpha.F_f
+ Data.Char.Alpha: instance GHC.Generics.Generic Data.Char.Alpha.G_G
+ Data.Char.Alpha: instance GHC.Generics.Generic Data.Char.Alpha.G_g
+ Data.Char.Alpha: instance GHC.Generics.Generic Data.Char.Alpha.H_H
+ Data.Char.Alpha: instance GHC.Generics.Generic Data.Char.Alpha.H_h
+ Data.Char.Alpha: instance GHC.Generics.Generic Data.Char.Alpha.I_I
+ Data.Char.Alpha: instance GHC.Generics.Generic Data.Char.Alpha.I_i
+ Data.Char.Alpha: instance GHC.Generics.Generic Data.Char.Alpha.J_J
+ Data.Char.Alpha: instance GHC.Generics.Generic Data.Char.Alpha.J_j
+ Data.Char.Alpha: instance GHC.Generics.Generic Data.Char.Alpha.K_K
+ Data.Char.Alpha: instance GHC.Generics.Generic Data.Char.Alpha.K_k
+ Data.Char.Alpha: instance GHC.Generics.Generic Data.Char.Alpha.L_L
+ Data.Char.Alpha: instance GHC.Generics.Generic Data.Char.Alpha.L_l
+ Data.Char.Alpha: instance GHC.Generics.Generic Data.Char.Alpha.Lower
+ Data.Char.Alpha: instance GHC.Generics.Generic Data.Char.Alpha.M_M
+ Data.Char.Alpha: instance GHC.Generics.Generic Data.Char.Alpha.M_m
+ Data.Char.Alpha: instance GHC.Generics.Generic Data.Char.Alpha.N_N
+ Data.Char.Alpha: instance GHC.Generics.Generic Data.Char.Alpha.N_n
+ Data.Char.Alpha: instance GHC.Generics.Generic Data.Char.Alpha.O_O
+ Data.Char.Alpha: instance GHC.Generics.Generic Data.Char.Alpha.O_o
+ Data.Char.Alpha: instance GHC.Generics.Generic Data.Char.Alpha.P_P
+ Data.Char.Alpha: instance GHC.Generics.Generic Data.Char.Alpha.P_p
+ Data.Char.Alpha: instance GHC.Generics.Generic Data.Char.Alpha.Q_Q
+ Data.Char.Alpha: instance GHC.Generics.Generic Data.Char.Alpha.Q_q
+ Data.Char.Alpha: instance GHC.Generics.Generic Data.Char.Alpha.R_R
+ Data.Char.Alpha: instance GHC.Generics.Generic Data.Char.Alpha.R_r
+ Data.Char.Alpha: instance GHC.Generics.Generic Data.Char.Alpha.S_S
+ Data.Char.Alpha: instance GHC.Generics.Generic Data.Char.Alpha.S_s
+ Data.Char.Alpha: instance GHC.Generics.Generic Data.Char.Alpha.T_T
+ Data.Char.Alpha: instance GHC.Generics.Generic Data.Char.Alpha.T_t
+ Data.Char.Alpha: instance GHC.Generics.Generic Data.Char.Alpha.U_U
+ Data.Char.Alpha: instance GHC.Generics.Generic Data.Char.Alpha.U_u
+ Data.Char.Alpha: instance GHC.Generics.Generic Data.Char.Alpha.Upper
+ Data.Char.Alpha: instance GHC.Generics.Generic Data.Char.Alpha.V_V
+ Data.Char.Alpha: instance GHC.Generics.Generic Data.Char.Alpha.V_v
+ Data.Char.Alpha: instance GHC.Generics.Generic Data.Char.Alpha.W_W
+ Data.Char.Alpha: instance GHC.Generics.Generic Data.Char.Alpha.W_w
+ Data.Char.Alpha: instance GHC.Generics.Generic Data.Char.Alpha.X_X
+ Data.Char.Alpha: instance GHC.Generics.Generic Data.Char.Alpha.X_x
+ Data.Char.Alpha: instance GHC.Generics.Generic Data.Char.Alpha.Y_Y
+ Data.Char.Alpha: instance GHC.Generics.Generic Data.Char.Alpha.Y_y
+ Data.Char.Alpha: instance GHC.Generics.Generic Data.Char.Alpha.Z_Z
+ Data.Char.Alpha: instance GHC.Generics.Generic Data.Char.Alpha.Z_z
+ Data.Char.Alpha: instance GHC.Show.Show Data.Char.Alpha.A_A
+ Data.Char.Alpha: instance GHC.Show.Show Data.Char.Alpha.A_a
+ Data.Char.Alpha: instance GHC.Show.Show Data.Char.Alpha.B_B
+ Data.Char.Alpha: instance GHC.Show.Show Data.Char.Alpha.B_b
+ Data.Char.Alpha: instance GHC.Show.Show Data.Char.Alpha.C_C
+ Data.Char.Alpha: instance GHC.Show.Show Data.Char.Alpha.C_c
+ Data.Char.Alpha: instance GHC.Show.Show Data.Char.Alpha.D_D
+ Data.Char.Alpha: instance GHC.Show.Show Data.Char.Alpha.D_d
+ Data.Char.Alpha: instance GHC.Show.Show Data.Char.Alpha.E_E
+ Data.Char.Alpha: instance GHC.Show.Show Data.Char.Alpha.E_e
+ Data.Char.Alpha: instance GHC.Show.Show Data.Char.Alpha.F_F
+ Data.Char.Alpha: instance GHC.Show.Show Data.Char.Alpha.F_f
+ Data.Char.Alpha: instance GHC.Show.Show Data.Char.Alpha.G_G
+ Data.Char.Alpha: instance GHC.Show.Show Data.Char.Alpha.G_g
+ Data.Char.Alpha: instance GHC.Show.Show Data.Char.Alpha.H_H
+ Data.Char.Alpha: instance GHC.Show.Show Data.Char.Alpha.H_h
+ Data.Char.Alpha: instance GHC.Show.Show Data.Char.Alpha.I_I
+ Data.Char.Alpha: instance GHC.Show.Show Data.Char.Alpha.I_i
+ Data.Char.Alpha: instance GHC.Show.Show Data.Char.Alpha.J_J
+ Data.Char.Alpha: instance GHC.Show.Show Data.Char.Alpha.J_j
+ Data.Char.Alpha: instance GHC.Show.Show Data.Char.Alpha.K_K
+ Data.Char.Alpha: instance GHC.Show.Show Data.Char.Alpha.K_k
+ Data.Char.Alpha: instance GHC.Show.Show Data.Char.Alpha.L_L
+ Data.Char.Alpha: instance GHC.Show.Show Data.Char.Alpha.L_l
+ Data.Char.Alpha: instance GHC.Show.Show Data.Char.Alpha.Lower
+ Data.Char.Alpha: instance GHC.Show.Show Data.Char.Alpha.M_M
+ Data.Char.Alpha: instance GHC.Show.Show Data.Char.Alpha.M_m
+ Data.Char.Alpha: instance GHC.Show.Show Data.Char.Alpha.N_N
+ Data.Char.Alpha: instance GHC.Show.Show Data.Char.Alpha.N_n
+ Data.Char.Alpha: instance GHC.Show.Show Data.Char.Alpha.O_O
+ Data.Char.Alpha: instance GHC.Show.Show Data.Char.Alpha.O_o
+ Data.Char.Alpha: instance GHC.Show.Show Data.Char.Alpha.P_P
+ Data.Char.Alpha: instance GHC.Show.Show Data.Char.Alpha.P_p
+ Data.Char.Alpha: instance GHC.Show.Show Data.Char.Alpha.Q_Q
+ Data.Char.Alpha: instance GHC.Show.Show Data.Char.Alpha.Q_q
+ Data.Char.Alpha: instance GHC.Show.Show Data.Char.Alpha.R_R
+ Data.Char.Alpha: instance GHC.Show.Show Data.Char.Alpha.R_r
+ Data.Char.Alpha: instance GHC.Show.Show Data.Char.Alpha.S_S
+ Data.Char.Alpha: instance GHC.Show.Show Data.Char.Alpha.S_s
+ Data.Char.Alpha: instance GHC.Show.Show Data.Char.Alpha.T_T
+ Data.Char.Alpha: instance GHC.Show.Show Data.Char.Alpha.T_t
+ Data.Char.Alpha: instance GHC.Show.Show Data.Char.Alpha.U_U
+ Data.Char.Alpha: instance GHC.Show.Show Data.Char.Alpha.U_u
+ Data.Char.Alpha: instance GHC.Show.Show Data.Char.Alpha.Upper
+ Data.Char.Alpha: instance GHC.Show.Show Data.Char.Alpha.V_V
+ Data.Char.Alpha: instance GHC.Show.Show Data.Char.Alpha.V_v
+ Data.Char.Alpha: instance GHC.Show.Show Data.Char.Alpha.W_W
+ Data.Char.Alpha: instance GHC.Show.Show Data.Char.Alpha.W_w
+ Data.Char.Alpha: instance GHC.Show.Show Data.Char.Alpha.X_X
+ Data.Char.Alpha: instance GHC.Show.Show Data.Char.Alpha.X_x
+ Data.Char.Alpha: instance GHC.Show.Show Data.Char.Alpha.Y_Y
+ Data.Char.Alpha: instance GHC.Show.Show Data.Char.Alpha.Y_y
+ Data.Char.Alpha: instance GHC.Show.Show Data.Char.Alpha.Z_Z
+ Data.Char.Alpha: instance GHC.Show.Show Data.Char.Alpha.Z_z
+ Data.Char.Alpha: lookup1 :: Eq a => a -> NonEmpty (a, b) -> b
+ Data.Char.Alpha: mirrorAlpha :: Iso' Alpha Alpha
+ Data.Char.Alpha: mirrorLower :: Iso' Lower Lower
+ Data.Char.Alpha: mirrorUpper :: Iso' Upper Upper
+ Data.Char.Alpha: parse_A :: (CA x, CharParsing p) => p x
+ Data.Char.Alpha: parse_B :: (CB x, CharParsing p) => p x
+ Data.Char.Alpha: parse_C :: (CC x, CharParsing p) => p x
+ Data.Char.Alpha: parse_D :: (CD x, CharParsing p) => p x
+ Data.Char.Alpha: parse_E :: (CE x, CharParsing p) => p x
+ Data.Char.Alpha: parse_F :: (CF x, CharParsing p) => p x
+ Data.Char.Alpha: parse_G :: (CG x, CharParsing p) => p x
+ Data.Char.Alpha: parse_H :: (CH x, CharParsing p) => p x
+ Data.Char.Alpha: parse_I :: (CI x, CharParsing p) => p x
+ Data.Char.Alpha: parse_J :: (CJ x, CharParsing p) => p x
+ Data.Char.Alpha: parse_K :: (CK x, CharParsing p) => p x
+ Data.Char.Alpha: parse_L :: (CL x, CharParsing p) => p x
+ Data.Char.Alpha: parse_M :: (CM x, CharParsing p) => p x
+ Data.Char.Alpha: parse_N :: (CN x, CharParsing p) => p x
+ Data.Char.Alpha: parse_O :: (CO x, CharParsing p) => p x
+ Data.Char.Alpha: parse_P :: (CP x, CharParsing p) => p x
+ Data.Char.Alpha: parse_Q :: (CQ x, CharParsing p) => p x
+ Data.Char.Alpha: parse_R :: (CR x, CharParsing p) => p x
+ Data.Char.Alpha: parse_S :: (CS x, CharParsing p) => p x
+ Data.Char.Alpha: parse_T :: (CT x, CharParsing p) => p x
+ Data.Char.Alpha: parse_U :: (CU x, CharParsing p) => p x
+ Data.Char.Alpha: parse_V :: (CV x, CharParsing p) => p x
+ Data.Char.Alpha: parse_W :: (CW x, CharParsing p) => p x
+ Data.Char.Alpha: parse_X :: (CX x, CharParsing p) => p x
+ Data.Char.Alpha: parse_Y :: (CY x, CharParsing p) => p x
+ Data.Char.Alpha: parse_Z :: (CZ x, CharParsing p) => p x
+ Data.Char.Alpha: parse_a :: (Ca x, CharParsing p) => p x
+ Data.Char.Alpha: parse_alpha :: (IsAlpha x, CharParsing p) => p x
+ Data.Char.Alpha: parse_b :: (Cb x, CharParsing p) => p x
+ Data.Char.Alpha: parse_c :: (Cc x, CharParsing p) => p x
+ Data.Char.Alpha: parse_d :: (Cd x, CharParsing p) => p x
+ Data.Char.Alpha: parse_e :: (Ce x, CharParsing p) => p x
+ Data.Char.Alpha: parse_f :: (Cf x, CharParsing p) => p x
+ Data.Char.Alpha: parse_g :: (Cg x, CharParsing p) => p x
+ Data.Char.Alpha: parse_h :: (Ch x, CharParsing p) => p x
+ Data.Char.Alpha: parse_i :: (Ci x, CharParsing p) => p x
+ Data.Char.Alpha: parse_j :: (Cj x, CharParsing p) => p x
+ Data.Char.Alpha: parse_k :: (Ck x, CharParsing p) => p x
+ Data.Char.Alpha: parse_l :: (Cl x, CharParsing p) => p x
+ Data.Char.Alpha: parse_lower :: (IsLower x, CharParsing p) => p x
+ Data.Char.Alpha: parse_m :: (Cm x, CharParsing p) => p x
+ Data.Char.Alpha: parse_n :: (Cn x, CharParsing p) => p x
+ Data.Char.Alpha: parse_o :: (Co x, CharParsing p) => p x
+ Data.Char.Alpha: parse_p :: (Cp x, CharParsing p) => p x
+ Data.Char.Alpha: parse_q :: (Cq x, CharParsing p) => p x
+ Data.Char.Alpha: parse_r :: (Cr x, CharParsing p) => p x
+ Data.Char.Alpha: parse_s :: (Cs x, CharParsing p) => p x
+ Data.Char.Alpha: parse_t :: (Ct x, CharParsing p) => p x
+ Data.Char.Alpha: parse_u :: (Cu x, CharParsing p) => p x
+ Data.Char.Alpha: parse_upper :: (IsUpper x, CharParsing p) => p x
+ Data.Char.Alpha: parse_v :: (Cv x, CharParsing p) => p x
+ Data.Char.Alpha: parse_w :: (Cw x, CharParsing p) => p x
+ Data.Char.Alpha: parse_x :: (Cx x, CharParsing p) => p x
+ Data.Char.Alpha: parse_y :: (Cy x, CharParsing p) => p x
+ Data.Char.Alpha: parse_z :: (Cz x, CharParsing p) => p x
+ Data.Char.Alpha: rotate1Alpha :: Iso' Alpha Alpha
+ Data.Char.Alpha: rotate1Lower :: Iso' Lower Lower
+ Data.Char.Alpha: rotate1Upper :: Iso' Upper Upper
+ Data.Char.Alpha: type IsAlpha x = (IsLower x, IsUpper x)
+ Data.Char.Alpha: type IsLower x = (Ca x, Cb x, Cc x, Cd x, Ce x, Cf x, Cg x, Ch x, Ci x, Cj x, Ck x, Cl x, Cm x, Cn x, Co x, Cp x, Cq x, Cr x, Cs x, Ct x, Cu x, Cv x, Cw x, Cx x, Cy x, Cz x)
+ Data.Char.Alpha: type IsUpper x = (CA x, CB x, CC x, CD x, CE x, CF x, CG x, CH x, CI x, CJ x, CK x, CL x, CM x, CN x, CO x, CP x, CQ x, CR x, CS x, CT x, CU x, CV x, CW x, CX x, CY x, CZ x)
- Data.Char.Alpha: _AlphaLower :: AsAlphaLower a => Prism' a AlphaLower
+ Data.Char.Alpha: _AlphaLower :: Prism' Alpha Lower
- Data.Char.Alpha: _AlphaUpper :: AsAlphaUpper a => Prism' a AlphaUpper
+ Data.Char.Alpha: _AlphaUpper :: Prism' Alpha Upper
- Data.Char.Alpha: lowerupper :: Iso' AlphaLower AlphaUpper
+ Data.Char.Alpha: lowerupper :: Iso' Lower Upper
- Data.Char.Alpha: upperlower :: Iso' AlphaUpper AlphaLower
+ Data.Char.Alpha: upperlower :: Iso' Upper Lower
Files
- CONTRIBUTORS +33/−0
- LICENCE +32/−0
- LICENSE +0/−77
- Setup.hs +2/−0
- Setup.lhs +0/−44
- alphachar.cabal +41/−29
- changelog +0/−4
- changelog.md +7/−0
- src/Data/Char/Alpha.hs +3243/−213
- test/Main.hs +13/−0
- test/doctests.hs +0/−32
+ CONTRIBUTORS view
@@ -0,0 +1,33 @@+Tony Morris+tmorris@tmorris.net+http://tmorris.net/+-----BEGIN PGP PUBLIC KEY BLOCK-----+Version: GnuPG v1.4.6 (GNU/Linux)++mQGiBETNyC0RBAC3MYSZSbDZhBLKra2YUphB9OO6+qMFl/v2Lq8590ZfeE2WjIOu+c/KGKyOigXztMrA4+iekUjM4FA8E6AlBRQiAqZK8HF0ftX5hDpuSyEKkZe3jcxxI+BbhwX/SWHtDEVzwNmvO1wEnwhRE1oY/BCmy+bQ9wmAjlNav4UbOIcXcJUwCgz6FF+UwDvPxzybgd9FNS14BE37n8D/AzGmGjunBW/x+g/ndwu6WEpTEn1ZNdja6VrNXSG+xQ8XM+NBulroAIYX+YWdHsKnuGvSKCgVoc1ifVHdztA9sksID5GBGzhmVbIP2E16+w/LEzqqwruv9dX0Y1b7n8hcnvbl4DgEgLgeQ+VgJfLUkY2jFZ2m3dEBRH9USSgB/+V2pBBACP4Us2ZBYEXtMG29g6GqyeeJLEP34PLYVHWJZbet/wPQsHFhYahhzjwZGG+Srp0JUpegJOdaqX/Y0nio2whgCpqJcrbGuUBqNgQI3k4gvBwnPyx7jM0kfHfFORG+lq9SDbfLpV0EJx6fWXGStW33zsQQvenDcV2F5czzKQcy66BFwbQhVG9ueSBNb3Jy+aXMgPHRtb3JyaXNAdG1vcnJpcy5uZXQ+iGMEExECACMFAkTNyC0FCQlmAYAGCwkI+BwMCBBUCCAMEFgIDAQIeAQIXgAAKCRCaemCth7qvrf0pAKCFii2pI2W1BKVFuQcw+yoNxP0CAUACgyhuI9isCvtrOkeyjDmCVueRCdaC5Ag0ERM3IThAIAJ6A1z+d40ve+WvPIhpFiGfoS8UX4YdgYpo2mC/orY0xszBitogtaTHQHU5YDemGg81plNg9I3DbM+Er8uyONV4DqF6RbLj4w+iA6zn93+PTEZ73ydhxF6vDuojpVZPXVzXzpgyXHkEVLC+3hKL9oVlEsh+DWCvCiSAIy780JZ3FNVuMC3VH4qKxTw0CwPuuZvVfnMoIRfpODRR+fVEk2VDor+lr8kqJkBaHgN5o/AvOXC7QCYadwbEkpr0ecxIZ1VcASYytIIM3YNL7+ZcHWwU5PCNLOdMXPqOdthhDhsHkKJNEXXr0YsjX/bQqYOUqYKPDyqh/yrrRO9Ro6+7eTSbfIguycAAwcH/2waLIQR8qYKxPknNuSdsOOqF2jf2gglL/7uMsIzjfkFzgHo++GNHw9tmlZqD3yzaZ/N7Yv08ujRHhmWPBYAWRICBM3qo0zMJ9kI5XWRobeRQpLtf+YxxIOenq8R9t6YU9ryHdqf+P+Fi38eN5ERTDhNLrJOnO5/TA+of97BWCmdtJMlWM+RaHtqXxwo02Yi65IqKx6L7oOvT7Gh4NV2eglz8ZafPEoP8+V8ER7rwBYPiLk4Mse+oVImjveq2dmLUip9OPwznoaeyC8zB0mJ13m/KNC+CffkBgoXpMPiKzbu5YTjVw+++MlEmfgL42yDK0hnokmW2i9y1RBh/T1VQQeQbUaeITAQYEQIADAUCRM3ITgUJCWYB+gAAKCRCaemCth7qvrcbtAJ9j3C6lKNRB3uKcrfze66jAVQh0qACaAysOK82TcQ/2+73ryR0xWMFnpGqg=+=bMTb+-----END PGP PUBLIC KEY BLOCK-----
+ LICENCE view
@@ -0,0 +1,32 @@+Copyright (C) 2010-2016 NICTA Limited+Copyright (c) 2017-2018, Commonwealth Scientific and Industrial Research Organisation+(CSIRO) ABN 41 687 119 230.++All rights reserved.++Redistribution and use in source and binary forms, with or without+modification, are permitted provided that the following conditions are met:++ * Redistributions of source code must retain the above copyright+ notice, this list of conditions and the following disclaimer.++ * Redistributions in binary form must reproduce the above+ copyright notice, this list of conditions and the following+ disclaimer in the documentation and/or other materials provided+ with the distribution.++ * Neither the name of QFPL nor the names of other+ contributors may be used to endorse or promote products derived+ from this software without specific prior written permission.++THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
− LICENSE
@@ -1,77 +0,0 @@-CSIRO Open Source Software License Agreement (variation of the BSD / MIT-License)--Copyright (c) 2016, Commonwealth Scientific and Industrial Research Organisation-(CSIRO) ABN 41 687 119 230.--All rights reserved. CSIRO is willing to grant you a license to this-aemo-webservice on the following terms, except where otherwise indicated for-third party material.--Redistribution and use of this software in source and binary forms, with or-without modification, are permitted provided that the following conditions are-met:--* Redistributions of source code must retain the above copyright notice, this- list of conditions and the following disclaimer.--* Redistributions in binary form must reproduce the above copyright notice, this- list of conditions and the following disclaimer in the documentation and/or- other materials provided with the distribution.--* Neither the name of CSIRO nor the names of its contributors may be used to- endorse or promote products derived from this software without specific prior- written permission of CSIRO.--EXCEPT AS EXPRESSLY STATED IN THIS AGREEMENT AND TO THE FULL EXTENT PERMITTED BY-APPLICABLE LAW, THE SOFTWARE IS PROVIDED "AS-IS". CSIRO MAKES NO-REPRESENTATIONS, WARRANTIES OR CONDITIONS OF ANY KIND, EXPRESS OR IMPLIED,-INCLUDING BUT NOT LIMITED TO ANY REPRESENTATIONS, WARRANTIES OR CONDITIONS-REGARDING THE CONTENTS OR ACCURACY OF THE SOFTWARE, OR OF TITLE,-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, THE ABSENCE-OF LATENT OR OTHER DEFECTS, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT-DISCOVERABLE.--TO THE FULL EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT SHALL CSIRO BE-LIABLE ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION, IN AN ACTION FOR-BREACH OF CONTRACT, NEGLIGENCE OR OTHERWISE) FOR ANY CLAIM, LOSS, DAMAGES OR-OTHER LIABILITY HOWSOEVER INCURRED. WITHOUT LIMITING THE SCOPE OF THE PREVIOUS-SENTENCE THE EXCLUSION OF LIABILITY SHALL INCLUDE: LOSS OF PRODUCTION OR-OPERATION TIME, LOSS, DAMAGE OR CORRUPTION OF DATA OR RECORDS; OR LOSS OF-ANTICIPATED SAVINGS, OPPORTUNITY, REVENUE, PROFIT OR GOODWILL, OR OTHER ECONOMIC-LOSS; OR ANY SPECIAL, INCIDENTAL, INDIRECT, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY-DAMAGES, ARISING OUT OF OR IN CONNECTION WITH THIS AGREEMENT, ACCESS OF THE-SOFTWARE OR ANY OTHER DEALINGS WITH THE SOFTWARE, EVEN IF CSIRO HAS BEEN ADVISED-OF THE POSSIBILITY OF SUCH CLAIM, LOSS, DAMAGES OR OTHER LIABILITY.--APPLICABLE LEGISLATION SUCH AS THE AUSTRALIAN CONSUMER LAW MAY APPLY-REPRESENTATIONS, WARRANTIES, OR CONDITIONS, OR IMPOSES OBLIGATIONS OR LIABILITY-ON CSIRO THAT CANNOT BE EXCLUDED, RESTRICTED OR MODIFIED TO THE FULL EXTENT SET-OUT IN THE EXPRESS TERMS OF THIS CLAUSE ABOVE "CONSUMER GUARANTEES". TO THE-EXTENT THAT SUCH CONSUMER GUARANTEES CONTINUE TO APPLY, THEN TO THE FULL EXTENT-PERMITTED BY THE APPLICABLE LEGISLATION, THE LIABILITY OF CSIRO UNDER THE-RELEVANT CONSUMER GUARANTEE IS LIMITED (WHERE PERMITTED AT CSIRO'S OPTION) TO-ONE OF FOLLOWING REMEDIES OR SUBSTANTIALLY EQUIVALENT REMEDIES:--(a) THE REPLACEMENT OF THE SOFTWARE, THE SUPPLY OF EQUIVALENT- SOFTWARE, OR SUPPLYING RELEVANT SERVICES AGAIN;-(b) THE REPAIR OF THE SOFTWARE;-(c) THE PAYMENT OF THE COST OF REPLACING THE- SOFTWARE, OF ACQUIRING EQUIVALENT SOFTWARE, HAVING THE- RELEVANT SERVICES SUPPLIED AGAIN, OR HAVING THE SOFTWARE- REPAIRED.--IN THIS CLAUSE, CSIRO INCLUDES ANY THIRD PARTY AUTHOR OR OWNER OF ANY PART OF-THE SOFTWARE OR MATERIAL DISTRIBUTED WITH IT. CSIRO MAY ENFORCE ANY RIGHTS ON-BEHALF OF THE RELEVANT THIRD PARTY.--Third Party Components--The following third party components are distributed with the Software. You-agree to comply with the license terms for these components as part of accessing-the Software. Other third party software may also be identified in separate-files distributed with the Software.--___________________________________________________________________--___________________________________________________________________
+ Setup.hs view
@@ -0,0 +1,2 @@+import Distribution.Simple+main = defaultMain
− Setup.lhs
@@ -1,44 +0,0 @@-#!/usr/bin/env runhaskell-\begin{code}-{-# OPTIONS_GHC -Wall #-}-module Main (main) where--import Data.List ( nub )-import Data.Version ( showVersion )-import Distribution.Package ( PackageName(PackageName), PackageId, InstalledPackageId, packageVersion, packageName )-import Distribution.PackageDescription ( PackageDescription(), TestSuite(..) )-import Distribution.Simple ( defaultMainWithHooks, UserHooks(..), simpleUserHooks )-import Distribution.Simple.Utils ( rewriteFile, createDirectoryIfMissingVerbose )-import Distribution.Simple.BuildPaths ( autogenModulesDir )-import Distribution.Simple.Setup ( BuildFlags(buildVerbosity), fromFlag )-import Distribution.Simple.LocalBuildInfo ( withLibLBI, withTestLBI, LocalBuildInfo(), ComponentLocalBuildInfo(componentPackageDeps) )-import Distribution.Verbosity ( Verbosity )-import System.FilePath ( (</>) )--main :: IO ()-main = defaultMainWithHooks simpleUserHooks- { buildHook = \pkg lbi hooks flags -> do- generateBuildModule (fromFlag (buildVerbosity flags)) pkg lbi- buildHook simpleUserHooks pkg lbi hooks flags- }--generateBuildModule :: Verbosity -> PackageDescription -> LocalBuildInfo -> IO ()-generateBuildModule verbosity pkg lbi = do- let dir = autogenModulesDir lbi- createDirectoryIfMissingVerbose verbosity True dir- withLibLBI pkg lbi $ \_ libcfg -> do- withTestLBI pkg lbi $ \suite suitecfg -> do- rewriteFile (dir </> "Build_" ++ testName suite ++ ".hs") $ unlines- [ "module Build_" ++ testName suite ++ " where"- , "deps :: [String]"- , "deps = " ++ (show $ formatdeps (testDeps libcfg suitecfg))- ]- where- formatdeps = map (formatone . snd)- formatone p = case packageName p of- PackageName n -> n ++ "-" ++ showVersion (packageVersion p)--testDeps :: ComponentLocalBuildInfo -> ComponentLocalBuildInfo -> [(InstalledPackageId, PackageId)]-testDeps xs ys = nub $ componentPackageDeps xs ++ componentPackageDeps ys--\end{code}
alphachar.cabal view
@@ -1,35 +1,38 @@ name: alphachar-version: 0.0.1+version: 0.0.2 license: BSD3-license-file: LICENSE-author: Tony Morris <ʇǝu˙sıɹɹoɯʇ@ןןǝʞsɐɥ>-maintainer: Tony Morris-copyright: Copyright (c) 2016, Commonwealth Scientific and Industrial Research Organisation (CSIRO) ABN 41 687 119 230.+license-file: LICENCE+author: Queensland Functional Programming Lab <oᴉ˙ldɟb@llǝʞsɐɥ>+maintainer: Queensland Functional Programming Lab <oᴉ˙ldɟb@llǝʞsɐɥ>+copyright: Copyright (C) 2010-2016 NICTA Limited+ Copyright (c) 2017-2018, Commonwealth Scientific and Industrial Research Organisation (CSIRO) ABN 41 687 119 230. synopsis: A character between a-z-category: Prelude-description: A character between a-z-homepage: https://github.com/data61/alphachar-bug-reports: https://github.com/data61/alphachar/issues+category: Data+homepage: https://github.com/qfpl/alphachar+bug-reports: https://github.com/qfpl/alphachar/issues cabal-version: >= 1.10-build-type: Custom-extra-source-files: changelog+build-type: Simple+extra-source-files: CONTRIBUTORS, changelog.md+tested-with: GHC == 8.4.1, GHC == 8.2.2, GHC == 8.0.2, GHC == 7.10.3+description:+ <<http://i.imgur.com/uZnp9ke.png>>+ .+ A character between a-z source-repository head type: git- location: git@github.com:data61/alphachar.git--flag small_base- description: Choose the new, split-up base package.+ location: git@github.com:qfpl/alphachar.git library default-language: Haskell2010 build-depends:- base >= 4.8 && < 5- , lens >= 4.1 && < 5- , parsers >= 0.12 && < 1-+ base >= 4.7 && < 5+ , lens >= 4.0 && < 5+ , parsers >= 0.12.3 && < 0.13+ , semigroups >= 0.12 && < 1.0+ ghc-options: -Wall @@ -41,29 +44,38 @@ exposed-modules: Data.Char.Alpha- -test-suite doctests++test-suite tests type: exitcode-stdio-1.0 main-is:- doctests.hs+ Main.hs default-language: Haskell2010 build-depends:- base < 5 && >= 3- , doctest >= 0.9.7- , filepath >= 1.3- , directory >= 1.1- , QuickCheck >= 2.0- , template-haskell >= 2.8- , parsec >= 0.12 && < 1+ base >=4.8 && <4.12+ , lens >=4.0 && <5+ , ansi-wl-pprint >=0.6 && <0.7+ , hedgehog >=0.5 && <0.7+ , tasty >=0.11 && <1.2+ , tasty-hspec >=1.1 && <1.2+ , parsec >=3.1 && <3.2+ , parsers >=0.12.3 && <0.13+ , pretty >=1.1 && <1.2+ , text >=1.2 && <1.3+ , tasty-hedgehog >=0.1 && <0.3+ , tasty-hunit >=0.9 && <0.11+ , alphachar ghc-options: -Wall -threaded++ default-extensions:+ NoImplicitPrelude hs-source-dirs: test
− changelog
@@ -1,4 +0,0 @@-0.0.1--* Initial release-
+ changelog.md view
@@ -0,0 +1,7 @@+0.0.2++* Rewrite to use `Generic`.++0.0.1++* Initial release
src/Data/Char/Alpha.hs view
@@ -1,214 +1,3244 @@ {-# LANGUAGE NoImplicitPrelude #-}-{-# LANGUAGE TemplateHaskell #-}-{-# LANGUAGE RankNTypes #-}--module Data.Char.Alpha(--- * Upper-case- AlphaUpper-, HasAlphaUpper(alphaUpper)-, AsAlphaUpper(_AlphaUpper)-, parseAlphaUpper--- * Lower-case-, AlphaLower-, HasAlphaLower(alphaLower)-, AsAlphaLower(_AlphaLower)-, parseAlphaLower--- * Any case-, Alpha(UpperAlpha, LowerAlpha)-, HasAlpha(alpha)-, AsAlpha(_Alpha, _UpperAlpha, _LowerAlpha)-, parseAlpha--- * Accessory-, upperlower-, lowerupper-) where--import Control.Applicative((<$>), (<|>), empty)-import Control.Category((.), id)-import Control.Lens(makeClassy, makeClassyPrisms, from, iso, prism', (^?), Iso', Prism')-import Control.Monad(Monad((>>=), return))-import Data.Char(Char, toLower, toUpper)-import Data.Eq(Eq)-import Data.Foldable(elem)-import Data.Maybe(Maybe(Just, Nothing), maybe)-import Data.Ord(Ord)-import Prelude(Show)-import Text.Parser.Char(CharParsing, anyChar)-import Text.Parser.Combinators((<?>), try)---- $setup------ >>> import Text.Parsec(parse)---- | An upper-case character between @'A'@ and @'Z'@.-newtype AlphaUpper =- AlphaUpper Char- deriving (Eq, Ord, Show)--makeClassy ''AlphaUpper--class AsAlphaUpper a where- _AlphaUpper ::- Prism'- a- AlphaUpper--instance AsAlphaUpper AlphaUpper where- _AlphaUpper =- id--instance AsAlphaUpper Char where- _AlphaUpper =- prism'- (\(AlphaUpper c) -> c)- (\c -> if c `elem` ['A'..'Z']- then- Just (AlphaUpper c)- else- Nothing)---- | Parse an upper-case alpha character.------ >>> parse parseAlphaUpper "parseAlphaUpper" "A"--- Right (AlphaUpper 'A')------ >>> parse parseAlphaUpper "parseAlphaUpper" "Abc"--- Right (AlphaUpper 'A')------ >>> isn't _Right (parse parseAlphaUpper "parseAlphaUpper" "a")--- True------ >>> isn't _Right (parse parseAlphaUpper "parseAlphaUpper" "")--- True------ >>> isn't _Right (parse parseAlphaUpper "parseAlphaUpper" "0")--- True-parseAlphaUpper ::- (Monad f, CharParsing f) =>- f AlphaUpper-parseAlphaUpper =- try (anyChar >>= \c -> maybe empty return (c ^? _AlphaUpper)) <?> "AlphaUpper"---- | A lower-case character between @'a'@ and @'z'@.-newtype AlphaLower =- AlphaLower Char- deriving (Eq, Ord, Show)--makeClassy ''AlphaLower--class AsAlphaLower a where- _AlphaLower ::- Prism'- a- AlphaLower--instance AsAlphaLower AlphaLower where- _AlphaLower =- id--instance AsAlphaLower Char where- _AlphaLower =- prism'- (\(AlphaLower c) -> c)- (\c -> if c `elem` ['a'..'z']- then- Just (AlphaLower c)- else- Nothing)---- | Parse a lower-case alpha character.------ >>> parse parseAlphaLower "parseAlphaLower" "a"--- Right (AlphaLower 'a')------ >>> parse parseAlphaLower "parseAlphaLower" "aBC"--- Right (AlphaLower 'a')------ >>> isn't _Right (parse parseAlphaLower "parseAlphaLower" "B")--- True------ >>> isn't _Right (parse parseAlphaLower "parseAlphaLower" "")--- True------ >>> isn't _Right (parse parseAlphaLower "parseAlphaLower" "0")--- True-parseAlphaLower ::- (Monad f, CharParsing f) =>- f AlphaLower-parseAlphaLower =- try (anyChar >>= \c -> maybe empty return (c ^? _AlphaLower)) <?> "AlphaLower"---- | Either a lower-case character between @'a'@ and @'z'@ or an upper-case character between @'A'@ and @'Z'@.-data Alpha =- UpperAlpha AlphaUpper- | LowerAlpha AlphaLower- deriving (Eq, Ord, Show)--makeClassyPrisms ''Alpha-makeClassy ''Alpha---- | Parse an upper-case or lower-case character.------ >>> parse parseAlpha "parseAlpha" "a"--- Right (LowerAlpha (AlphaLower 'a'))------ >>> parse parseAlpha "parseAlpha" "aBC"--- Right (LowerAlpha (AlphaLower 'a'))------ >>> parse parseAlpha "parseAlpha" "A"--- Right (UpperAlpha (AlphaUpper 'A'))------ >>> parse parseAlpha "parseAlpha" "Abc"--- Right (UpperAlpha (AlphaUpper 'A'))------ >>> isn't _Right (parse parseAlpha "parseAlpha" "0")--- True-parseAlpha ::- (Monad f, CharParsing f) =>- f Alpha-parseAlpha =- UpperAlpha <$> parseAlphaUpper <|> LowerAlpha <$> parseAlphaLower--instance AsAlphaLower Alpha where- _AlphaLower =- _LowerAlpha . _AlphaLower--instance AsAlphaUpper Alpha where- _AlphaUpper =- _UpperAlpha . _AlphaUpper---- | Isomorphism from upper to lower.------ >>> (upperlower #) <$> ('a' ^? _AlphaLower)--- Just (AlphaUpper 'A')------ >>> (upperlower #) <$> ('A' ^? _AlphaLower)--- Nothing------ >>> (upperlower #) <$> ('3' ^? _AlphaLower)--- Nothing-upperlower ::- Iso'- AlphaUpper- AlphaLower-upperlower =- iso- (\(AlphaUpper c) -> AlphaLower (toLower c))- (\(AlphaLower c) -> AlphaUpper (toUpper c))---- | Isomorphism from lower to upper.------ >>> (lowerupper #) <$> ('A' ^? _AlphaUpper)--- Just (AlphaLower 'a')------ >>> (lowerupper #) <$> ('a' ^? _AlphaUpper)--- Nothing------ >>> (lowerupper #) <$> ('3' ^? _AlphaUpper)--- Nothing-lowerupper ::- Iso'- AlphaLower- AlphaUpper-lowerupper =- from upperlower+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE ConstraintKinds #-}++module Data.Char.Alpha where++import Control.Applicative((<|>))+import Control.Category(id, (.))+import Control.Lens(Prism', Iso', prism', iso, from, involuted, (^.), ( # ))+import Data.Char(Char)+import Data.Eq(Eq)+import Data.Functor((<$), (<$>))+import Data.List(lookup)+import Data.List.NonEmpty(NonEmpty((:|)))+import Data.Maybe(Maybe(Just, Nothing), fromMaybe)+import Data.Ord(Ord)+import GHC.Generics(Generic)+import Text.Parser.Char(CharParsing, char)+import Text.Parser.Combinators((<?>))+import Prelude(Show)++data A_a =+ A_a+ deriving (Eq, Ord, Show, Generic)++class Ca x where+ _a' ::+ Prism' x ()+ _a ::+ x+ _a =+ _a' # ()++instance Ca () where+ _a' =+ id++instance Ca A_a where+ _a' =+ prism'+ (\() -> A_a)+ (\A_a -> Just ())++instance Ca Char where+ _a' =+ prism'+ (\() -> 'a')+ (\c -> case c of+ 'a' ->+ Just ()+ _ ->+ Nothing)++parse_a ::+ (Ca x, CharParsing p) =>+ p x+parse_a =+ _a <$ char 'a' <?> "a"++data B_b =+ B_b+ deriving (Eq, Ord, Show, Generic)++class Cb x where+ _b' ::+ Prism' x ()+ _b ::+ x+ _b =+ _b' # ()++instance Cb () where+ _b' =+ id++instance Cb B_b where+ _b' =+ prism'+ (\() -> B_b)+ (\B_b -> Just ())++instance Cb Char where+ _b' =+ prism'+ (\() -> 'b')+ (\c -> case c of+ 'b' ->+ Just ()+ _ ->+ Nothing)++parse_b ::+ (Cb x, CharParsing p) =>+ p x+parse_b =+ _b <$ char 'b' <?> "b"++data C_c =+ C_c+ deriving (Eq, Ord, Show, Generic)++class Cc x where+ _c' ::+ Prism' x ()+ _c ::+ x+ _c =+ _c' # ()++instance Cc () where+ _c' =+ id++instance Cc C_c where+ _c' =+ prism'+ (\() -> C_c)+ (\C_c -> Just ())++instance Cc Char where+ _c' =+ prism'+ (\() -> 'c')+ (\c -> case c of+ 'c' ->+ Just ()+ _ ->+ Nothing)++parse_c ::+ (Cc x, CharParsing p) =>+ p x+parse_c =+ _c <$ char 'c' <?> "c"++data D_d =+ D_d+ deriving (Eq, Ord, Show, Generic)++class Cd x where+ _d' ::+ Prism' x ()+ _d ::+ x+ _d =+ _d' # ()++instance Cd () where+ _d' =+ id++instance Cd D_d where+ _d' =+ prism'+ (\() -> D_d)+ (\D_d -> Just ())++instance Cd Char where+ _d' =+ prism'+ (\() -> 'd')+ (\c -> case c of+ 'd' ->+ Just ()+ _ ->+ Nothing)++parse_d ::+ (Cd x, CharParsing p) =>+ p x+parse_d =+ _d <$ char 'd' <?> "d"++data E_e =+ E_e+ deriving (Eq, Ord, Show, Generic)++class Ce x where+ _e' ::+ Prism' x ()+ _e ::+ x+ _e =+ _e' # ()++instance Ce () where+ _e' =+ id++instance Ce E_e where+ _e' =+ prism'+ (\() -> E_e)+ (\E_e -> Just ())++instance Ce Char where+ _e' =+ prism'+ (\() -> 'e')+ (\c -> case c of+ 'e' ->+ Just ()+ _ ->+ Nothing)++parse_e ::+ (Ce x, CharParsing p) =>+ p x+parse_e =+ _e <$ char 'e' <?> "e"++data F_f =+ F_f+ deriving (Eq, Ord, Show, Generic)++class Cf x where+ _f' ::+ Prism' x ()+ _f ::+ x+ _f =+ _f' # ()++instance Cf () where+ _f' =+ id++instance Cf F_f where+ _f' =+ prism'+ (\() -> F_f)+ (\F_f -> Just ())++instance Cf Char where+ _f' =+ prism'+ (\() -> 'f')+ (\c -> case c of+ 'f' ->+ Just ()+ _ ->+ Nothing)++parse_f ::+ (Cf x, CharParsing p) =>+ p x+parse_f =+ _f <$ char 'f' <?> "f"++data G_g =+ G_g+ deriving (Eq, Ord, Show, Generic)++class Cg x where+ _g' ::+ Prism' x ()+ _g ::+ x+ _g =+ _g' # ()++instance Cg () where+ _g' =+ id++instance Cg G_g where+ _g' =+ prism'+ (\() -> G_g)+ (\G_g -> Just ())++instance Cg Char where+ _g' =+ prism'+ (\() -> 'g')+ (\c -> case c of+ 'g' ->+ Just ()+ _ ->+ Nothing)++parse_g ::+ (Cg x, CharParsing p) =>+ p x+parse_g =+ _g <$ char 'g' <?> "g"++data H_h =+ H_h+ deriving (Eq, Ord, Show, Generic)++class Ch x where+ _h' ::+ Prism' x ()+ _h ::+ x+ _h =+ _h' # ()++instance Ch () where+ _h' =+ id++instance Ch H_h where+ _h' =+ prism'+ (\() -> H_h)+ (\H_h -> Just ())++instance Ch Char where+ _h' =+ prism'+ (\() -> 'h')+ (\c -> case c of+ 'h' ->+ Just ()+ _ ->+ Nothing)++parse_h ::+ (Ch x, CharParsing p) =>+ p x+parse_h =+ _h <$ char 'h' <?> "h"++data I_i =+ I_i+ deriving (Eq, Ord, Show, Generic)++class Ci x where+ _i' ::+ Prism' x ()+ _i ::+ x+ _i =+ _i' # ()++instance Ci () where+ _i' =+ id++instance Ci I_i where+ _i' =+ prism'+ (\() -> I_i)+ (\I_i -> Just ())++instance Ci Char where+ _i' =+ prism'+ (\() -> 'i')+ (\c -> case c of+ 'i' ->+ Just ()+ _ ->+ Nothing)++parse_i ::+ (Ci x, CharParsing p) =>+ p x+parse_i =+ _i <$ char 'i' <?> "i"++data J_j =+ J_j+ deriving (Eq, Ord, Show, Generic)++class Cj x where+ _j' ::+ Prism' x ()+ _j ::+ x+ _j =+ _j' # ()++instance Cj () where+ _j' =+ id++instance Cj J_j where+ _j' =+ prism'+ (\() -> J_j)+ (\J_j -> Just ())++instance Cj Char where+ _j' =+ prism'+ (\() -> 'j')+ (\c -> case c of+ 'j' ->+ Just ()+ _ ->+ Nothing)++parse_j ::+ (Cj x, CharParsing p) =>+ p x+parse_j =+ _j <$ char 'j' <?> "j"++data K_k =+ K_k+ deriving (Eq, Ord, Show, Generic)++class Ck x where+ _k' ::+ Prism' x ()+ _k ::+ x+ _k =+ _k' # ()++instance Ck () where+ _k' =+ id++instance Ck K_k where+ _k' =+ prism'+ (\() -> K_k)+ (\K_k -> Just ())++instance Ck Char where+ _k' =+ prism'+ (\() -> 'k')+ (\c -> case c of+ 'k' ->+ Just ()+ _ ->+ Nothing)++parse_k ::+ (Ck x, CharParsing p) =>+ p x+parse_k =+ _k <$ char 'k' <?> "k"++data L_l =+ L_l+ deriving (Eq, Ord, Show, Generic)++class Cl x where+ _l' ::+ Prism' x ()+ _l ::+ x+ _l =+ _l' # ()++instance Cl () where+ _l' =+ id++instance Cl L_l where+ _l' =+ prism'+ (\() -> L_l)+ (\L_l -> Just ())++instance Cl Char where+ _l' =+ prism'+ (\() -> 'l')+ (\c -> case c of+ 'l' ->+ Just ()+ _ ->+ Nothing)++parse_l ::+ (Cl x, CharParsing p) =>+ p x+parse_l =+ _l <$ char 'l' <?> "l"++data M_m =+ M_m+ deriving (Eq, Ord, Show, Generic)++class Cm x where+ _m' ::+ Prism' x ()+ _m ::+ x+ _m =+ _m' # ()++instance Cm () where+ _m' =+ id++instance Cm M_m where+ _m' =+ prism'+ (\() -> M_m)+ (\M_m -> Just ())++instance Cm Char where+ _m' =+ prism'+ (\() -> 'm')+ (\c -> case c of+ 'm' ->+ Just ()+ _ ->+ Nothing)++parse_m ::+ (Cm x, CharParsing p) =>+ p x+parse_m =+ _m <$ char 'm' <?> "m"++data N_n =+ N_n+ deriving (Eq, Ord, Show, Generic)++class Cn x where+ _n' ::+ Prism' x ()+ _n ::+ x+ _n =+ _n' # ()++instance Cn () where+ _n' =+ id++instance Cn N_n where+ _n' =+ prism'+ (\() -> N_n)+ (\N_n -> Just ())++instance Cn Char where+ _n' =+ prism'+ (\() -> 'n')+ (\c -> case c of+ 'n' ->+ Just ()+ _ ->+ Nothing)++parse_n ::+ (Cn x, CharParsing p) =>+ p x+parse_n =+ _n <$ char 'n' <?> "n"++data O_o =+ O_o+ deriving (Eq, Ord, Show, Generic)++class Co x where+ _o' ::+ Prism' x ()+ _o ::+ x+ _o =+ _o' # ()++instance Co () where+ _o' =+ id++instance Co O_o where+ _o' =+ prism'+ (\() -> O_o)+ (\O_o -> Just ())++instance Co Char where+ _o' =+ prism'+ (\() -> 'o')+ (\c -> case c of+ 'o' ->+ Just ()+ _ ->+ Nothing)++parse_o ::+ (Co x, CharParsing p) =>+ p x+parse_o =+ _o <$ char 'o' <?> "o"++data P_p =+ P_p+ deriving (Eq, Ord, Show, Generic)++class Cp x where+ _p' ::+ Prism' x ()+ _p ::+ x+ _p =+ _p' # ()++instance Cp () where+ _p' =+ id++instance Cp P_p where+ _p' =+ prism'+ (\() -> P_p)+ (\P_p -> Just ())++instance Cp Char where+ _p' =+ prism'+ (\() -> 'p')+ (\c -> case c of+ 'p' ->+ Just ()+ _ ->+ Nothing)++parse_p ::+ (Cp x, CharParsing p) =>+ p x+parse_p =+ _p <$ char 'p' <?> "p"++data Q_q =+ Q_q+ deriving (Eq, Ord, Show, Generic)++class Cq x where+ _q' ::+ Prism' x ()+ _q ::+ x+ _q =+ _q' # ()++instance Cq () where+ _q' =+ id++instance Cq Q_q where+ _q' =+ prism'+ (\() -> Q_q)+ (\Q_q -> Just ())++instance Cq Char where+ _q' =+ prism'+ (\() -> 'q')+ (\c -> case c of+ 'q' ->+ Just ()+ _ ->+ Nothing)++parse_q ::+ (Cq x, CharParsing p) =>+ p x+parse_q =+ _q <$ char 'q' <?> "q"++data R_r =+ R_r+ deriving (Eq, Ord, Show, Generic)++class Cr x where+ _r' ::+ Prism' x ()+ _r ::+ x+ _r =+ _r' # ()++instance Cr () where+ _r' =+ id++instance Cr R_r where+ _r' =+ prism'+ (\() -> R_r)+ (\R_r -> Just ())++instance Cr Char where+ _r' =+ prism'+ (\() -> 'r')+ (\c -> case c of+ 'r' ->+ Just ()+ _ ->+ Nothing)++parse_r ::+ (Cr x, CharParsing p) =>+ p x+parse_r =+ _r <$ char 'r' <?> "r"++data S_s =+ S_s+ deriving (Eq, Ord, Show, Generic)++class Cs x where+ _s' ::+ Prism' x ()+ _s ::+ x+ _s =+ _s' # ()++instance Cs () where+ _s' =+ id++instance Cs S_s where+ _s' =+ prism'+ (\() -> S_s)+ (\S_s -> Just ())++instance Cs Char where+ _s' =+ prism'+ (\() -> 's')+ (\c -> case c of+ 's' ->+ Just ()+ _ ->+ Nothing)++parse_s ::+ (Cs x, CharParsing p) =>+ p x+parse_s =+ _s <$ char 's' <?> "s"++data T_t =+ T_t+ deriving (Eq, Ord, Show, Generic)++class Ct x where+ _t' ::+ Prism' x ()+ _t ::+ x+ _t =+ _t' # ()++instance Ct () where+ _t' =+ id++instance Ct T_t where+ _t' =+ prism'+ (\() -> T_t)+ (\T_t -> Just ())++instance Ct Char where+ _t' =+ prism'+ (\() -> 't')+ (\c -> case c of+ 't' ->+ Just ()+ _ ->+ Nothing)++parse_t ::+ (Ct x, CharParsing p) =>+ p x+parse_t =+ _t <$ char 't' <?> "t"++data U_u =+ U_u+ deriving (Eq, Ord, Show, Generic)++class Cu x where+ _u' ::+ Prism' x ()+ _u ::+ x+ _u =+ _u' # ()++instance Cu () where+ _u' =+ id++instance Cu U_u where+ _u' =+ prism'+ (\() -> U_u)+ (\U_u -> Just ())++instance Cu Char where+ _u' =+ prism'+ (\() -> 'u')+ (\c -> case c of+ 'u' ->+ Just ()+ _ ->+ Nothing)++parse_u ::+ (Cu x, CharParsing p) =>+ p x+parse_u =+ _u <$ char 'u' <?> "u"++data V_v =+ V_v+ deriving (Eq, Ord, Show, Generic)++class Cv x where+ _v' ::+ Prism' x ()+ _v ::+ x+ _v =+ _v' # ()++instance Cv () where+ _v' =+ id++instance Cv V_v where+ _v' =+ prism'+ (\() -> V_v)+ (\V_v -> Just ())++instance Cv Char where+ _v' =+ prism'+ (\() -> 'v')+ (\c -> case c of+ 'v' ->+ Just ()+ _ ->+ Nothing)++parse_v ::+ (Cv x, CharParsing p) =>+ p x+parse_v =+ _v <$ char 'v' <?> "v"++data W_w =+ W_w+ deriving (Eq, Ord, Show, Generic)++class Cw x where+ _w' ::+ Prism' x ()+ _w ::+ x+ _w =+ _w' # ()++instance Cw () where+ _w' =+ id++instance Cw W_w where+ _w' =+ prism'+ (\() -> W_w)+ (\W_w -> Just ())++instance Cw Char where+ _w' =+ prism'+ (\() -> 'w')+ (\c -> case c of+ 'w' ->+ Just ()+ _ ->+ Nothing)++parse_w ::+ (Cw x, CharParsing p) =>+ p x+parse_w =+ _w <$ char 'w' <?> "w"++data X_x =+ X_x+ deriving (Eq, Ord, Show, Generic)++class Cx x where+ _x' ::+ Prism' x ()+ _x ::+ x+ _x =+ _x' # ()++instance Cx () where+ _x' =+ id++instance Cx X_x where+ _x' =+ prism'+ (\() -> X_x)+ (\X_x -> Just ())++instance Cx Char where+ _x' =+ prism'+ (\() -> 'x')+ (\c -> case c of+ 'x' ->+ Just ()+ _ ->+ Nothing)++parse_x ::+ (Cx x, CharParsing p) =>+ p x+parse_x =+ _x <$ char 'x' <?> "x"++data Y_y =+ Y_y+ deriving (Eq, Ord, Show, Generic)++class Cy x where+ _y' ::+ Prism' x ()+ _y ::+ x+ _y =+ _y' # ()++instance Cy () where+ _y' =+ id++instance Cy Y_y where+ _y' =+ prism'+ (\() -> Y_y)+ (\Y_y -> Just ())++instance Cy Char where+ _y' =+ prism'+ (\() -> 'y')+ (\c -> case c of+ 'y' ->+ Just ()+ _ ->+ Nothing)++parse_y ::+ (Cy x, CharParsing p) =>+ p x+parse_y =+ _y <$ char 'y' <?> "y"++data Z_z =+ Z_z+ deriving (Eq, Ord, Show, Generic)++class Cz x where+ _z' ::+ Prism' x ()+ _z ::+ x+ _z =+ _z' # ()++instance Cz () where+ _z' =+ id++instance Cz Z_z where+ _z' =+ prism'+ (\() -> Z_z)+ (\Z_z -> Just ())++instance Cz Char where+ _z' =+ prism'+ (\() -> 'z')+ (\c -> case c of+ 'z' ->+ Just ()+ _ ->+ Nothing)++parse_z ::+ (Cz x, CharParsing p) =>+ p x+parse_z =+ _z <$ char 'z' <?> "z"++data A_A =+ A_A+ deriving (Eq, Ord, Show, Generic)++class CA x where+ _A' ::+ Prism' x ()+ _A ::+ x+ _A =+ _A' # ()++instance CA () where+ _A' =+ id++instance CA A_A where+ _A' =+ prism'+ (\() -> A_A)+ (\A_A -> Just ())++instance CA Char where+ _A' =+ prism'+ (\() -> 'A')+ (\c -> case c of+ 'A' ->+ Just ()+ _ ->+ Nothing)++parse_A ::+ (CA x, CharParsing p) =>+ p x+parse_A =+ _A <$ char 'A' <?> "A"++data B_B =+ B_B+ deriving (Eq, Ord, Show, Generic)++class CB x where+ _B' ::+ Prism' x ()+ _B ::+ x+ _B =+ _B' # ()++instance CB () where+ _B' =+ id++instance CB B_B where+ _B' =+ prism'+ (\() -> B_B)+ (\B_B -> Just ())++instance CB Char where+ _B' =+ prism'+ (\() -> 'B')+ (\c -> case c of+ 'B' ->+ Just ()+ _ ->+ Nothing)++parse_B ::+ (CB x, CharParsing p) =>+ p x+parse_B =+ _B <$ char 'B' <?> "B"++data C_C =+ C_C+ deriving (Eq, Ord, Show, Generic)++class CC x where+ _C' ::+ Prism' x ()+ _C ::+ x+ _C =+ _C' # ()++instance CC () where+ _C' =+ id++instance CC C_C where+ _C' =+ prism'+ (\() -> C_C)+ (\C_C -> Just ())++instance CC Char where+ _C' =+ prism'+ (\() -> 'C')+ (\c -> case c of+ 'C' ->+ Just ()+ _ ->+ Nothing)++parse_C ::+ (CC x, CharParsing p) =>+ p x+parse_C =+ _C <$ char 'C' <?> "C"++data D_D =+ D_D+ deriving (Eq, Ord, Show, Generic)++class CD x where+ _D' ::+ Prism' x ()+ _D ::+ x+ _D =+ _D' # ()++instance CD () where+ _D' =+ id++instance CD D_D where+ _D' =+ prism'+ (\() -> D_D)+ (\D_D -> Just ())++instance CD Char where+ _D' =+ prism'+ (\() -> 'D')+ (\c -> case c of+ 'D' ->+ Just ()+ _ ->+ Nothing)++parse_D ::+ (CD x, CharParsing p) =>+ p x+parse_D =+ _D <$ char 'D' <?> "D"++data E_E =+ E_E+ deriving (Eq, Ord, Show, Generic)++class CE x where+ _E' ::+ Prism' x ()+ _E ::+ x+ _E =+ _E' # ()++instance CE () where+ _E' =+ id++instance CE E_E where+ _E' =+ prism'+ (\() -> E_E)+ (\E_E -> Just ())++instance CE Char where+ _E' =+ prism'+ (\() -> 'E')+ (\c -> case c of+ 'E' ->+ Just ()+ _ ->+ Nothing)++parse_E ::+ (CE x, CharParsing p) =>+ p x+parse_E =+ _E <$ char 'E' <?> "E"++data F_F =+ F_F+ deriving (Eq, Ord, Show, Generic)++class CF x where+ _F' ::+ Prism' x ()+ _F ::+ x+ _F =+ _F' # ()++instance CF () where+ _F' =+ id++instance CF F_F where+ _F' =+ prism'+ (\() -> F_F)+ (\F_F -> Just ())++instance CF Char where+ _F' =+ prism'+ (\() -> 'F')+ (\c -> case c of+ 'F' ->+ Just ()+ _ ->+ Nothing)++parse_F ::+ (CF x, CharParsing p) =>+ p x+parse_F =+ _F <$ char 'F' <?> "F"++data G_G =+ G_G+ deriving (Eq, Ord, Show, Generic)++class CG x where+ _G' ::+ Prism' x ()+ _G ::+ x+ _G =+ _G' # ()++instance CG () where+ _G' =+ id++instance CG G_G where+ _G' =+ prism'+ (\() -> G_G)+ (\G_G -> Just ())++instance CG Char where+ _G' =+ prism'+ (\() -> 'G')+ (\c -> case c of+ 'G' ->+ Just ()+ _ ->+ Nothing)++parse_G ::+ (CG x, CharParsing p) =>+ p x+parse_G =+ _G <$ char 'G' <?> "G"++data H_H =+ H_H+ deriving (Eq, Ord, Show, Generic)++class CH x where+ _H' ::+ Prism' x ()+ _H ::+ x+ _H =+ _H' # ()++instance CH () where+ _H' =+ id++instance CH H_H where+ _H' =+ prism'+ (\() -> H_H)+ (\H_H -> Just ())++instance CH Char where+ _H' =+ prism'+ (\() -> 'H')+ (\c -> case c of+ 'H' ->+ Just ()+ _ ->+ Nothing)++parse_H ::+ (CH x, CharParsing p) =>+ p x+parse_H =+ _H <$ char 'H' <?> "H"++data I_I =+ I_I+ deriving (Eq, Ord, Show, Generic)++class CI x where+ _I' ::+ Prism' x ()+ _I ::+ x+ _I =+ _I' # ()++instance CI () where+ _I' =+ id++instance CI I_I where+ _I' =+ prism'+ (\() -> I_I)+ (\I_I -> Just ())++instance CI Char where+ _I' =+ prism'+ (\() -> 'I')+ (\c -> case c of+ 'I' ->+ Just ()+ _ ->+ Nothing)++parse_I ::+ (CI x, CharParsing p) =>+ p x+parse_I =+ _I <$ char 'I' <?> "I"++data J_J =+ J_J+ deriving (Eq, Ord, Show, Generic)++class CJ x where+ _J' ::+ Prism' x ()+ _J ::+ x+ _J =+ _J' # ()++instance CJ () where+ _J' =+ id++instance CJ J_J where+ _J' =+ prism'+ (\() -> J_J)+ (\J_J -> Just ())++instance CJ Char where+ _J' =+ prism'+ (\() -> 'J')+ (\c -> case c of+ 'J' ->+ Just ()+ _ ->+ Nothing)++parse_J ::+ (CJ x, CharParsing p) =>+ p x+parse_J =+ _J <$ char 'J' <?> "J"++data K_K =+ K_K+ deriving (Eq, Ord, Show, Generic)++class CK x where+ _K' ::+ Prism' x ()+ _K ::+ x+ _K =+ _K' # ()++instance CK () where+ _K' =+ id++instance CK K_K where+ _K' =+ prism'+ (\() -> K_K)+ (\K_K -> Just ())++instance CK Char where+ _K' =+ prism'+ (\() -> 'K')+ (\c -> case c of+ 'K' ->+ Just ()+ _ ->+ Nothing)++parse_K ::+ (CK x, CharParsing p) =>+ p x+parse_K =+ _K <$ char 'K' <?> "K"++data L_L =+ L_L+ deriving (Eq, Ord, Show, Generic)++class CL x where+ _L' ::+ Prism' x ()+ _L ::+ x+ _L =+ _L' # ()++instance CL () where+ _L' =+ id++instance CL L_L where+ _L' =+ prism'+ (\() -> L_L)+ (\L_L -> Just ())++instance CL Char where+ _L' =+ prism'+ (\() -> 'L')+ (\c -> case c of+ 'L' ->+ Just ()+ _ ->+ Nothing)++parse_L ::+ (CL x, CharParsing p) =>+ p x+parse_L =+ _L <$ char 'L' <?> "L"++data M_M =+ M_M+ deriving (Eq, Ord, Show, Generic)++class CM x where+ _M' ::+ Prism' x ()+ _M ::+ x+ _M =+ _M' # ()++instance CM () where+ _M' =+ id++instance CM M_M where+ _M' =+ prism'+ (\() -> M_M)+ (\M_M -> Just ())++instance CM Char where+ _M' =+ prism'+ (\() -> 'M')+ (\c -> case c of+ 'M' ->+ Just ()+ _ ->+ Nothing)++parse_M ::+ (CM x, CharParsing p) =>+ p x+parse_M =+ _M <$ char 'M' <?> "M"++data N_N =+ N_N+ deriving (Eq, Ord, Show, Generic)++class CN x where+ _N' ::+ Prism' x ()+ _N ::+ x+ _N =+ _N' # ()++instance CN () where+ _N' =+ id++instance CN N_N where+ _N' =+ prism'+ (\() -> N_N)+ (\N_N -> Just ())++instance CN Char where+ _N' =+ prism'+ (\() -> 'N')+ (\c -> case c of+ 'N' ->+ Just ()+ _ ->+ Nothing)++parse_N ::+ (CN x, CharParsing p) =>+ p x+parse_N =+ _N <$ char 'N' <?> "N"++data O_O =+ O_O+ deriving (Eq, Ord, Show, Generic)++class CO x where+ _O' ::+ Prism' x ()+ _O ::+ x+ _O =+ _O' # ()++instance CO () where+ _O' =+ id++instance CO O_O where+ _O' =+ prism'+ (\() -> O_O)+ (\O_O -> Just ())++instance CO Char where+ _O' =+ prism'+ (\() -> 'O')+ (\c -> case c of+ 'O' ->+ Just ()+ _ ->+ Nothing)++parse_O ::+ (CO x, CharParsing p) =>+ p x+parse_O =+ _O <$ char 'O' <?> "O"++data P_P =+ P_P+ deriving (Eq, Ord, Show, Generic)++class CP x where+ _P' ::+ Prism' x ()+ _P ::+ x+ _P =+ _P' # ()++instance CP () where+ _P' =+ id++instance CP P_P where+ _P' =+ prism'+ (\() -> P_P)+ (\P_P -> Just ())++instance CP Char where+ _P' =+ prism'+ (\() -> 'P')+ (\c -> case c of+ 'P' ->+ Just ()+ _ ->+ Nothing)++parse_P ::+ (CP x, CharParsing p) =>+ p x+parse_P =+ _P <$ char 'P' <?> "P"++data Q_Q =+ Q_Q+ deriving (Eq, Ord, Show, Generic)++class CQ x where+ _Q' ::+ Prism' x ()+ _Q ::+ x+ _Q =+ _Q' # ()++instance CQ () where+ _Q' =+ id++instance CQ Q_Q where+ _Q' =+ prism'+ (\() -> Q_Q)+ (\Q_Q -> Just ())++instance CQ Char where+ _Q' =+ prism'+ (\() -> 'Q')+ (\c -> case c of+ 'Q' ->+ Just ()+ _ ->+ Nothing)++parse_Q ::+ (CQ x, CharParsing p) =>+ p x+parse_Q =+ _Q <$ char 'Q' <?> "Q"++data R_R =+ R_R+ deriving (Eq, Ord, Show, Generic)++class CR x where+ _R' ::+ Prism' x ()+ _R ::+ x+ _R =+ _R' # ()++instance CR () where+ _R' =+ id++instance CR R_R where+ _R' =+ prism'+ (\() -> R_R)+ (\R_R -> Just ())++instance CR Char where+ _R' =+ prism'+ (\() -> 'R')+ (\c -> case c of+ 'R' ->+ Just ()+ _ ->+ Nothing)++parse_R ::+ (CR x, CharParsing p) =>+ p x+parse_R =+ _R <$ char 'R' <?> "R"++data S_S =+ S_S+ deriving (Eq, Ord, Show, Generic)++class CS x where+ _S' ::+ Prism' x ()+ _S ::+ x+ _S =+ _S' # ()++instance CS () where+ _S' =+ id++instance CS S_S where+ _S' =+ prism'+ (\() -> S_S)+ (\S_S -> Just ())++instance CS Char where+ _S' =+ prism'+ (\() -> 'S')+ (\c -> case c of+ 'S' ->+ Just ()+ _ ->+ Nothing)++parse_S ::+ (CS x, CharParsing p) =>+ p x+parse_S =+ _S <$ char 'S' <?> "S"++data T_T =+ T_T+ deriving (Eq, Ord, Show, Generic)++class CT x where+ _T' ::+ Prism' x ()+ _T ::+ x+ _T =+ _T' # ()++instance CT () where+ _T' =+ id++instance CT T_T where+ _T' =+ prism'+ (\() -> T_T)+ (\T_T -> Just ())++instance CT Char where+ _T' =+ prism'+ (\() -> 'T')+ (\c -> case c of+ 'T' ->+ Just ()+ _ ->+ Nothing)++parse_T ::+ (CT x, CharParsing p) =>+ p x+parse_T =+ _T <$ char 'T' <?> "T"++data U_U =+ U_U+ deriving (Eq, Ord, Show, Generic)++class CU x where+ _U' ::+ Prism' x ()+ _U ::+ x+ _U =+ _U' # ()++instance CU () where+ _U' =+ id++instance CU U_U where+ _U' =+ prism'+ (\() -> U_U)+ (\U_U -> Just ())++instance CU Char where+ _U' =+ prism'+ (\() -> 'U')+ (\c -> case c of+ 'U' ->+ Just ()+ _ ->+ Nothing)++parse_U ::+ (CU x, CharParsing p) =>+ p x+parse_U =+ _U <$ char 'U' <?> "U"++data V_V =+ V_V+ deriving (Eq, Ord, Show, Generic)++class CV x where+ _V' ::+ Prism' x ()+ _V ::+ x+ _V =+ _V' # ()++instance CV () where+ _V' =+ id++instance CV V_V where+ _V' =+ prism'+ (\() -> V_V)+ (\V_V -> Just ())++instance CV Char where+ _V' =+ prism'+ (\() -> 'V')+ (\c -> case c of+ 'V' ->+ Just ()+ _ ->+ Nothing)++parse_V ::+ (CV x, CharParsing p) =>+ p x+parse_V =+ _V <$ char 'V' <?> "V"++data W_W =+ W_W+ deriving (Eq, Ord, Show, Generic)++class CW x where+ _W' ::+ Prism' x ()+ _W ::+ x+ _W =+ _W' # ()++instance CW () where+ _W' =+ id++instance CW W_W where+ _W' =+ prism'+ (\() -> W_W)+ (\W_W -> Just ())++instance CW Char where+ _W' =+ prism'+ (\() -> 'W')+ (\c -> case c of+ 'W' ->+ Just ()+ _ ->+ Nothing)++parse_W ::+ (CW x, CharParsing p) =>+ p x+parse_W =+ _W <$ char 'W' <?> "W"++data X_X =+ X_X+ deriving (Eq, Ord, Show, Generic)++class CX x where+ _X' ::+ Prism' x ()+ _X ::+ x+ _X =+ _X' # ()++instance CX () where+ _X' =+ id++instance CX X_X where+ _X' =+ prism'+ (\() -> X_X)+ (\X_X -> Just ())++instance CX Char where+ _X' =+ prism'+ (\() -> 'X')+ (\c -> case c of+ 'X' ->+ Just ()+ _ ->+ Nothing)++parse_X ::+ (CX x, CharParsing p) =>+ p x+parse_X =+ _X <$ char 'X' <?> "X"++data Y_Y =+ Y_Y+ deriving (Eq, Ord, Show, Generic)++class CY x where+ _Y' ::+ Prism' x ()+ _Y ::+ x+ _Y =+ _Y' # ()++instance CY () where+ _Y' =+ id++instance CY Y_Y where+ _Y' =+ prism'+ (\() -> Y_Y)+ (\Y_Y -> Just ())++instance CY Char where+ _Y' =+ prism'+ (\() -> 'Y')+ (\c -> case c of+ 'Y' ->+ Just ()+ _ ->+ Nothing)++parse_Y ::+ (CY x, CharParsing p) =>+ p x+parse_Y =+ _Y <$ char 'Y' <?> "Y"++data Z_Z =+ Z_Z+ deriving (Eq, Ord, Show, Generic)++class CZ x where+ _Z' ::+ Prism' x ()+ _Z ::+ x+ _Z =+ _Z' # ()++instance CZ () where+ _Z' =+ id++instance CZ Z_Z where+ _Z' =+ prism'+ (\() -> Z_Z)+ (\Z_Z -> Just ())++instance CZ Char where+ _Z' =+ prism'+ (\() -> 'Z')+ (\c -> case c of+ 'Z' ->+ Just ()+ _ ->+ Nothing)++parse_Z ::+ (CZ x, CharParsing p) =>+ p x+parse_Z =+ _Z <$ char 'Z' <?> "Z"++----++type IsLower x =+ (+ Ca x+ , Cb x+ , Cc x+ , Cd x+ , Ce x+ , Cf x+ , Cg x+ , Ch x+ , Ci x+ , Cj x+ , Ck x+ , Cl x+ , Cm x+ , Cn x+ , Co x+ , Cp x+ , Cq x+ , Cr x+ , Cs x+ , Ct x+ , Cu x+ , Cv x+ , Cw x+ , Cx x+ , Cy x+ , Cz x+ )++data Lower =+ Lower_a+ | Lower_b+ | Lower_c+ | Lower_d+ | Lower_e+ | Lower_f+ | Lower_g+ | Lower_h+ | Lower_i+ | Lower_j+ | Lower_k+ | Lower_l+ | Lower_m+ | Lower_n+ | Lower_o+ | Lower_p+ | Lower_q+ | Lower_r+ | Lower_s+ | Lower_t+ | Lower_u+ | Lower_v+ | Lower_w+ | Lower_x+ | Lower_y+ | Lower_z+ deriving (Eq, Ord, Show, Generic)++instance Ca Lower where+ _a' =+ prism'+ (\() -> Lower_a)+ (\c -> case c of+ Lower_a ->+ Just ()+ _ ->+ Nothing)++instance Cb Lower where+ _b' =+ prism'+ (\() -> Lower_b)+ (\c -> case c of+ Lower_b ->+ Just ()+ _ ->+ Nothing)++instance Cc Lower where+ _c' =+ prism'+ (\() -> Lower_c)+ (\c -> case c of+ Lower_c ->+ Just ()+ _ ->+ Nothing)++instance Cd Lower where+ _d' =+ prism'+ (\() -> Lower_d)+ (\c -> case c of+ Lower_d ->+ Just ()+ _ ->+ Nothing)++instance Ce Lower where+ _e' =+ prism'+ (\() -> Lower_e)+ (\c -> case c of+ Lower_e ->+ Just ()+ _ ->+ Nothing)++instance Cf Lower where+ _f' =+ prism'+ (\() -> Lower_f)+ (\c -> case c of+ Lower_f ->+ Just ()+ _ ->+ Nothing)++instance Cg Lower where+ _g' =+ prism'+ (\() -> Lower_g)+ (\c -> case c of+ Lower_g ->+ Just ()+ _ ->+ Nothing)++instance Ch Lower where+ _h' =+ prism'+ (\() -> Lower_h)+ (\c -> case c of+ Lower_h ->+ Just ()+ _ ->+ Nothing)++instance Ci Lower where+ _i' =+ prism'+ (\() -> Lower_i)+ (\c -> case c of+ Lower_i ->+ Just ()+ _ ->+ Nothing)++instance Cj Lower where+ _j' =+ prism'+ (\() -> Lower_j)+ (\c -> case c of+ Lower_j ->+ Just ()+ _ ->+ Nothing)++instance Ck Lower where+ _k' =+ prism'+ (\() -> Lower_k)+ (\c -> case c of+ Lower_k ->+ Just ()+ _ ->+ Nothing)++instance Cl Lower where+ _l' =+ prism'+ (\() -> Lower_l)+ (\c -> case c of+ Lower_l ->+ Just ()+ _ ->+ Nothing)++instance Cm Lower where+ _m' =+ prism'+ (\() -> Lower_m)+ (\c -> case c of+ Lower_m ->+ Just ()+ _ ->+ Nothing)++instance Cn Lower where+ _n' =+ prism'+ (\() -> Lower_n)+ (\c -> case c of+ Lower_n ->+ Just ()+ _ ->+ Nothing)++instance Co Lower where+ _o' =+ prism'+ (\() -> Lower_o)+ (\c -> case c of+ Lower_o ->+ Just ()+ _ ->+ Nothing)++instance Cp Lower where+ _p' =+ prism'+ (\() -> Lower_p)+ (\c -> case c of+ Lower_p ->+ Just ()+ _ ->+ Nothing)++instance Cq Lower where+ _q' =+ prism'+ (\() -> Lower_q)+ (\c -> case c of+ Lower_q ->+ Just ()+ _ ->+ Nothing)++instance Cr Lower where+ _r' =+ prism'+ (\() -> Lower_r)+ (\c -> case c of+ Lower_r ->+ Just ()+ _ ->+ Nothing)++instance Cs Lower where+ _s' =+ prism'+ (\() -> Lower_s)+ (\c -> case c of+ Lower_s ->+ Just ()+ _ ->+ Nothing)++instance Ct Lower where+ _t' =+ prism'+ (\() -> Lower_t)+ (\c -> case c of+ Lower_t ->+ Just ()+ _ ->+ Nothing)++instance Cu Lower where+ _u' =+ prism'+ (\() -> Lower_u)+ (\c -> case c of+ Lower_u ->+ Just ()+ _ ->+ Nothing)++instance Cv Lower where+ _v' =+ prism'+ (\() -> Lower_v)+ (\c -> case c of+ Lower_v ->+ Just ()+ _ ->+ Nothing)++instance Cw Lower where+ _w' =+ prism'+ (\() -> Lower_w)+ (\c -> case c of+ Lower_w ->+ Just ()+ _ ->+ Nothing)++instance Cx Lower where+ _x' =+ prism'+ (\() -> Lower_x)+ (\c -> case c of+ Lower_x ->+ Just ()+ _ ->+ Nothing)++instance Cy Lower where+ _y' =+ prism'+ (\() -> Lower_y)+ (\c -> case c of+ Lower_y ->+ Just ()+ _ ->+ Nothing)++instance Cz Lower where+ _z' =+ prism'+ (\() -> Lower_z)+ (\c -> case c of+ Lower_z ->+ Just ()+ _ ->+ Nothing)++parse_lower ::+ (IsLower x, CharParsing p) =>+ p x+parse_lower =+ parse_a <|>+ parse_b <|>+ parse_c <|>+ parse_d <|>+ parse_e <|>+ parse_f <|>+ parse_g <|>+ parse_h <|>+ parse_i <|>+ parse_j <|>+ parse_k <|>+ parse_l <|>+ parse_m <|>+ parse_n <|>+ parse_o <|>+ parse_p <|>+ parse_q <|>+ parse_r <|>+ parse_s <|>+ parse_t <|>+ parse_u <|>+ parse_v <|>+ parse_w <|>+ parse_x <|>+ parse_y <|>+ parse_z++type IsUpper x =+ (+ CA x+ , CB x+ , CC x+ , CD x+ , CE x+ , CF x+ , CG x+ , CH x+ , CI x+ , CJ x+ , CK x+ , CL x+ , CM x+ , CN x+ , CO x+ , CP x+ , CQ x+ , CR x+ , CS x+ , CT x+ , CU x+ , CV x+ , CW x+ , CX x+ , CY x+ , CZ x+ )++data Upper =+ Upper_A+ | Upper_B+ | Upper_C+ | Upper_D+ | Upper_E+ | Upper_F+ | Upper_G+ | Upper_H+ | Upper_I+ | Upper_J+ | Upper_K+ | Upper_L+ | Upper_M+ | Upper_N+ | Upper_O+ | Upper_P+ | Upper_Q+ | Upper_R+ | Upper_S+ | Upper_T+ | Upper_U+ | Upper_V+ | Upper_W+ | Upper_X+ | Upper_Y+ | Upper_Z+ deriving (Eq, Ord, Show, Generic)++instance CA Upper where+ _A' =+ prism'+ (\() -> Upper_A)+ (\c -> case c of+ Upper_A ->+ Just ()+ _ ->+ Nothing)++instance CB Upper where+ _B' =+ prism'+ (\() -> Upper_B)+ (\c -> case c of+ Upper_B ->+ Just ()+ _ ->+ Nothing)++instance CC Upper where+ _C' =+ prism'+ (\() -> Upper_C)+ (\c -> case c of+ Upper_C ->+ Just ()+ _ ->+ Nothing)++instance CD Upper where+ _D' =+ prism'+ (\() -> Upper_D)+ (\c -> case c of+ Upper_D ->+ Just ()+ _ ->+ Nothing)++instance CE Upper where+ _E' =+ prism'+ (\() -> Upper_E)+ (\c -> case c of+ Upper_E ->+ Just ()+ _ ->+ Nothing)++instance CF Upper where+ _F' =+ prism'+ (\() -> Upper_F)+ (\c -> case c of+ Upper_F ->+ Just ()+ _ ->+ Nothing)++instance CG Upper where+ _G' =+ prism'+ (\() -> Upper_G)+ (\c -> case c of+ Upper_G ->+ Just ()+ _ ->+ Nothing)++instance CH Upper where+ _H' =+ prism'+ (\() -> Upper_H)+ (\c -> case c of+ Upper_H ->+ Just ()+ _ ->+ Nothing)++instance CI Upper where+ _I' =+ prism'+ (\() -> Upper_I)+ (\c -> case c of+ Upper_I ->+ Just ()+ _ ->+ Nothing)++instance CJ Upper where+ _J' =+ prism'+ (\() -> Upper_J)+ (\c -> case c of+ Upper_J ->+ Just ()+ _ ->+ Nothing)++instance CK Upper where+ _K' =+ prism'+ (\() -> Upper_K)+ (\c -> case c of+ Upper_K ->+ Just ()+ _ ->+ Nothing)++instance CL Upper where+ _L' =+ prism'+ (\() -> Upper_L)+ (\c -> case c of+ Upper_L ->+ Just ()+ _ ->+ Nothing)++instance CM Upper where+ _M' =+ prism'+ (\() -> Upper_M)+ (\c -> case c of+ Upper_M ->+ Just ()+ _ ->+ Nothing)++instance CN Upper where+ _N' =+ prism'+ (\() -> Upper_N)+ (\c -> case c of+ Upper_N ->+ Just ()+ _ ->+ Nothing)++instance CO Upper where+ _O' =+ prism'+ (\() -> Upper_O)+ (\c -> case c of+ Upper_O ->+ Just ()+ _ ->+ Nothing)++instance CP Upper where+ _P' =+ prism'+ (\() -> Upper_P)+ (\c -> case c of+ Upper_P ->+ Just ()+ _ ->+ Nothing)++instance CQ Upper where+ _Q' =+ prism'+ (\() -> Upper_Q)+ (\c -> case c of+ Upper_Q ->+ Just ()+ _ ->+ Nothing)++instance CR Upper where+ _R' =+ prism'+ (\() -> Upper_R)+ (\c -> case c of+ Upper_R ->+ Just ()+ _ ->+ Nothing)++instance CS Upper where+ _S' =+ prism'+ (\() -> Upper_S)+ (\c -> case c of+ Upper_S ->+ Just ()+ _ ->+ Nothing)++instance CT Upper where+ _T' =+ prism'+ (\() -> Upper_T)+ (\c -> case c of+ Upper_T ->+ Just ()+ _ ->+ Nothing)++instance CU Upper where+ _U' =+ prism'+ (\() -> Upper_U)+ (\c -> case c of+ Upper_U ->+ Just ()+ _ ->+ Nothing)++instance CV Upper where+ _V' =+ prism'+ (\() -> Upper_V)+ (\c -> case c of+ Upper_V ->+ Just ()+ _ ->+ Nothing)++instance CW Upper where+ _W' =+ prism'+ (\() -> Upper_W)+ (\c -> case c of+ Upper_W ->+ Just ()+ _ ->+ Nothing)++instance CX Upper where+ _X' =+ prism'+ (\() -> Upper_X)+ (\c -> case c of+ Upper_X ->+ Just ()+ _ ->+ Nothing)++instance CY Upper where+ _Y' =+ prism'+ (\() -> Upper_Y)+ (\c -> case c of+ Upper_Y ->+ Just ()+ _ ->+ Nothing)++instance CZ Upper where+ _Z' =+ prism'+ (\() -> Upper_Z)+ (\c -> case c of+ Upper_Z ->+ Just ()+ _ ->+ Nothing)++parse_upper ::+ (IsUpper x, CharParsing p) =>+ p x+parse_upper =+ parse_A <|>+ parse_B <|>+ parse_C <|>+ parse_D <|>+ parse_E <|>+ parse_F <|>+ parse_G <|>+ parse_H <|>+ parse_I <|>+ parse_J <|>+ parse_K <|>+ parse_L <|>+ parse_M <|>+ parse_N <|>+ parse_O <|>+ parse_P <|>+ parse_Q <|>+ parse_R <|>+ parse_S <|>+ parse_T <|>+ parse_U <|>+ parse_V <|>+ parse_W <|>+ parse_X <|>+ parse_Y <|>+ parse_Z++type IsAlpha x =+ (+ IsLower x+ , IsUpper x+ )++data Alpha =+ AlphaLower Lower+ | AlphaUpper Upper+ deriving (Eq, Ord, Show, Generic)++_AlphaLower ::+ Prism'+ Alpha+ Lower+_AlphaLower =+ prism'+ AlphaLower + (\c -> case c of+ AlphaLower l ->+ Just l+ AlphaUpper _ ->+ Nothing)++_AlphaUpper ::+ Prism'+ Alpha+ Upper+_AlphaUpper =+ prism'+ AlphaUpper + (\c -> case c of+ AlphaUpper l ->+ Just l+ AlphaLower _ ->+ Nothing)+instance Ca Alpha where+ _a' =+ _AlphaLower . _a'+++instance Cb Alpha where+ _b' =+ _AlphaLower . _b'+++instance Cc Alpha where+ _c' =+ _AlphaLower . _c'+++instance Cd Alpha where+ _d' =+ _AlphaLower . _d'+++instance Ce Alpha where+ _e' =+ _AlphaLower . _e'+++instance Cf Alpha where+ _f' =+ _AlphaLower . _f'+++instance Cg Alpha where+ _g' =+ _AlphaLower . _g'+++instance Ch Alpha where+ _h' =+ _AlphaLower . _h'+++instance Ci Alpha where+ _i' =+ _AlphaLower . _i'+++instance Cj Alpha where+ _j' =+ _AlphaLower . _j'+++instance Ck Alpha where+ _k' =+ _AlphaLower . _k'+++instance Cl Alpha where+ _l' =+ _AlphaLower . _l'+++instance Cm Alpha where+ _m' =+ _AlphaLower . _m'+++instance Cn Alpha where+ _n' =+ _AlphaLower . _n'+++instance Co Alpha where+ _o' =+ _AlphaLower . _o'+++instance Cp Alpha where+ _p' =+ _AlphaLower . _p'+++instance Cq Alpha where+ _q' =+ _AlphaLower . _q'+++instance Cr Alpha where+ _r' =+ _AlphaLower . _r'+++instance Cs Alpha where+ _s' =+ _AlphaLower . _s'+++instance Ct Alpha where+ _t' =+ _AlphaLower . _t'+++instance Cu Alpha where+ _u' =+ _AlphaLower . _u'+++instance Cv Alpha where+ _v' =+ _AlphaLower . _v'+++instance Cw Alpha where+ _w' =+ _AlphaLower . _w'+++instance Cx Alpha where+ _x' =+ _AlphaLower . _x'+++instance Cy Alpha where+ _y' =+ _AlphaLower . _y'+++instance Cz Alpha where+ _z' =+ _AlphaLower . _z'++instance CA Alpha where+ _A' =+ _AlphaUpper . _A'+++instance CB Alpha where+ _B' =+ _AlphaUpper . _B'+++instance CC Alpha where+ _C' =+ _AlphaUpper . _C'+++instance CD Alpha where+ _D' =+ _AlphaUpper . _D'+++instance CE Alpha where+ _E' =+ _AlphaUpper . _E'+++instance CF Alpha where+ _F' =+ _AlphaUpper . _F'+++instance CG Alpha where+ _G' =+ _AlphaUpper . _G'+++instance CH Alpha where+ _H' =+ _AlphaUpper . _H'+++instance CI Alpha where+ _I' =+ _AlphaUpper . _I'+++instance CJ Alpha where+ _J' =+ _AlphaUpper . _J'+++instance CK Alpha where+ _K' =+ _AlphaUpper . _K'+++instance CL Alpha where+ _L' =+ _AlphaUpper . _L'+++instance CM Alpha where+ _M' =+ _AlphaUpper . _M'+++instance CN Alpha where+ _N' =+ _AlphaUpper . _N'+++instance CO Alpha where+ _O' =+ _AlphaUpper . _O'+++instance CP Alpha where+ _P' =+ _AlphaUpper . _P'+++instance CQ Alpha where+ _Q' =+ _AlphaUpper . _Q'+++instance CR Alpha where+ _R' =+ _AlphaUpper . _R'+++instance CS Alpha where+ _S' =+ _AlphaUpper . _S'+++instance CT Alpha where+ _T' =+ _AlphaUpper . _T'+++instance CU Alpha where+ _U' =+ _AlphaUpper . _U'+++instance CV Alpha where+ _V' =+ _AlphaUpper . _V'+++instance CW Alpha where+ _W' =+ _AlphaUpper . _W'+++instance CX Alpha where+ _X' =+ _AlphaUpper . _X'+++instance CY Alpha where+ _Y' =+ _AlphaUpper . _Y'+++instance CZ Alpha where+ _Z' =+ _AlphaUpper . _Z'++parse_alpha ::+ (IsAlpha x, CharParsing p) =>+ p x+parse_alpha =+ parse_lower <|>+ parse_upper++lookup1 ::+ Eq a =>+ a+ -> NonEmpty (a, b)+ -> b+lookup1 a ((_, q) :| t) =+ fromMaybe q (lookup a t)++lowerupper ::+ Iso'+ Lower+ Upper+lowerupper =+ let r =+ (Lower_a, Upper_A) :|+ [+ (Lower_b, Upper_B)+ , (Lower_c, Upper_C)+ , (Lower_d, Upper_D)+ , (Lower_e, Upper_E)+ , (Lower_f, Upper_F)+ , (Lower_g, Upper_G)+ , (Lower_h, Upper_H)+ , (Lower_i, Upper_I)+ , (Lower_j, Upper_J)+ , (Lower_k, Upper_K)+ , (Lower_l, Upper_L)+ , (Lower_m, Upper_M)+ , (Lower_n, Upper_N)+ , (Lower_o, Upper_O)+ , (Lower_p, Upper_P)+ , (Lower_q, Upper_Q)+ , (Lower_r, Upper_R)+ , (Lower_s, Upper_S)+ , (Lower_t, Upper_T)+ , (Lower_u, Upper_U)+ , (Lower_v, Upper_V)+ , (Lower_w, Upper_W)+ , (Lower_x, Upper_X)+ , (Lower_y, Upper_Y)+ , (Lower_z, Upper_Z)+ ]+ in iso+ (`lookup1` r)+ (`lookup1` ((\(m, n) -> (n, m)) <$> r))++upperlower ::+ Iso'+ Upper+ Lower+upperlower =+ from lowerupper++rotate1Lower ::+ Iso'+ Lower+ Lower+rotate1Lower =+ let r =+ (Lower_a, Lower_b) :|+ [+ (Lower_b, Lower_c)+ , (Lower_c, Lower_d)+ , (Lower_d, Lower_e)+ , (Lower_e, Lower_f)+ , (Lower_f, Lower_g)+ , (Lower_g, Lower_h)+ , (Lower_h, Lower_i)+ , (Lower_i, Lower_j)+ , (Lower_j, Lower_k)+ , (Lower_k, Lower_l)+ , (Lower_l, Lower_m)+ , (Lower_m, Lower_n)+ , (Lower_n, Lower_o)+ , (Lower_o, Lower_p)+ , (Lower_p, Lower_q)+ , (Lower_q, Lower_r)+ , (Lower_r, Lower_s)+ , (Lower_s, Lower_t)+ , (Lower_t, Lower_u)+ , (Lower_u, Lower_v)+ , (Lower_v, Lower_w)+ , (Lower_w, Lower_x)+ , (Lower_x, Lower_y)+ , (Lower_y, Lower_z)+ , (Lower_z, Lower_a)+ ]+ in iso+ (`lookup1` r)+ (`lookup1` ((\(m, n) -> (n, m)) <$> r))++rotate1Upper ::+ Iso'+ Upper+ Upper+rotate1Upper =+ let r =+ (Upper_A, Upper_B) :|+ [+ (Upper_B, Upper_C)+ , (Upper_C, Upper_D)+ , (Upper_D, Upper_E)+ , (Upper_E, Upper_F)+ , (Upper_F, Upper_G)+ , (Upper_G, Upper_H)+ , (Upper_H, Upper_I)+ , (Upper_I, Upper_J)+ , (Upper_J, Upper_K)+ , (Upper_K, Upper_L)+ , (Upper_L, Upper_M)+ , (Upper_M, Upper_N)+ , (Upper_N, Upper_O)+ , (Upper_O, Upper_P)+ , (Upper_P, Upper_Q)+ , (Upper_Q, Upper_R)+ , (Upper_R, Upper_S)+ , (Upper_S, Upper_T)+ , (Upper_T, Upper_U)+ , (Upper_U, Upper_V)+ , (Upper_V, Upper_W)+ , (Upper_W, Upper_X)+ , (Upper_X, Upper_Y)+ , (Upper_Y, Upper_Z)+ , (Upper_Z, Upper_A)+ ]+ in iso+ (`lookup1` r)+ (`lookup1` ((\(m, n) -> (n, m)) <$> r))++rotate1Alpha ::+ Iso'+ Alpha+ Alpha+rotate1Alpha =+ iso+ (\a -> case a of+ AlphaLower l ->+ AlphaLower+ (l ^. rotate1Lower)+ AlphaUpper u ->+ AlphaUpper+ (u ^. rotate1Upper))+ (\a -> case a of+ AlphaLower l ->+ AlphaLower+ (rotate1Lower # l)+ AlphaUpper u ->+ AlphaUpper+ (rotate1Upper # u))++mirrorLower ::+ Iso'+ Lower+ Lower+mirrorLower =+ let r =+ (Lower_a, Lower_z) :|+ [+ (Lower_b, Lower_y)+ , (Lower_c, Lower_x)+ , (Lower_d, Lower_w)+ , (Lower_e, Lower_v)+ , (Lower_f, Lower_u)+ , (Lower_g, Lower_t)+ , (Lower_h, Lower_s)+ , (Lower_i, Lower_r)+ , (Lower_j, Lower_q)+ , (Lower_k, Lower_p)+ , (Lower_l, Lower_o)+ , (Lower_m, Lower_n)+ , (Lower_n, Lower_m)+ , (Lower_o, Lower_l)+ , (Lower_p, Lower_k)+ , (Lower_q, Lower_j)+ , (Lower_r, Lower_i)+ , (Lower_s, Lower_h)+ , (Lower_t, Lower_g)+ , (Lower_u, Lower_f)+ , (Lower_v, Lower_e)+ , (Lower_w, Lower_d)+ , (Lower_x, Lower_c)+ , (Lower_y, Lower_b)+ , (Lower_z, Lower_a)+ ]+ in involuted+ (`lookup1` r)++mirrorUpper ::+ Iso'+ Upper+ Upper+mirrorUpper =+ let r =+ (Upper_A, Upper_Z) :|+ [+ (Upper_B, Upper_Y)+ , (Upper_C, Upper_X)+ , (Upper_D, Upper_W)+ , (Upper_E, Upper_V)+ , (Upper_F, Upper_U)+ , (Upper_G, Upper_T)+ , (Upper_H, Upper_S)+ , (Upper_I, Upper_R)+ , (Upper_J, Upper_Q)+ , (Upper_K, Upper_P)+ , (Upper_L, Upper_O)+ , (Upper_M, Upper_N)+ , (Upper_N, Upper_M)+ , (Upper_O, Upper_L)+ , (Upper_P, Upper_K)+ , (Upper_Q, Upper_J)+ , (Upper_R, Upper_I)+ , (Upper_S, Upper_H)+ , (Upper_T, Upper_G)+ , (Upper_U, Upper_F)+ , (Upper_V, Upper_E)+ , (Upper_W, Upper_D)+ , (Upper_X, Upper_C)+ , (Upper_Y, Upper_B)+ , (Upper_Z, Upper_A)+ ]+ in involuted+ (`lookup1` r)++mirrorAlpha ::+ Iso'+ Alpha+ Alpha+mirrorAlpha =+ iso+ (\a -> case a of+ AlphaLower l ->+ AlphaLower+ (l ^. mirrorLower)+ AlphaUpper u ->+ AlphaUpper+ (u ^. mirrorUpper))+ (\a -> case a of+ AlphaLower l ->+ AlphaLower+ (mirrorLower # l)+ AlphaUpper u ->+ AlphaUpper+ (mirrorUpper # u))
+ test/Main.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE NoImplicitPrelude #-}++module Main(+ main+) where++import Control.Applicative(pure)+import System.IO(IO)++main ::+ IO ()+main = + pure ()
− test/doctests.hs
@@ -1,32 +0,0 @@-module Main where--import Build_doctests (deps)-import Control.Applicative-import Control.Monad-import Data.List-import System.Directory-import System.FilePath-import Test.DocTest--main ::- IO ()-main =- getSources >>= \sources -> doctest $- "-isrc"- : "-idist/build/autogen"- : "-optP-include"- : "-optPdist/build/autogen/cabal_macros.h"- : "-hide-all-packages"- : map ("-package="++) deps ++ sources--getSources :: IO [FilePath]-getSources = filter (isSuffixOf ".hs") <$> go "src"- where- go dir = do- (dirs, files) <- getFilesAndDirectories dir- (files ++) . concat <$> mapM go dirs--getFilesAndDirectories :: FilePath -> IO ([FilePath], [FilePath])-getFilesAndDirectories dir = do- c <- map (dir </>) . filter (`notElem` ["..", "."]) <$> getDirectoryContents dir- (,) <$> filterM doesDirectoryExist c <*> filterM doesFileExist c