This adds Generic.Data.Internal.Read and all of the necessary supporting cast.
There is an unresolved question here: the Read1 class did not introduce the liftReadPrec method until base-4.10.0.0. Prior to that, Read1 only had the less efficient liftReadsPrec method. As a result, I had to use CPP in various places to support base-4.9, which is within generic-data's support window. We could conceivably avoid CPP by raising the lower version bounds on base to >= 4.10, but I didn't feel bold enough to make this change unilaterally. What do you think?
Note that I have not attempted to factor out combinators in the style of Lysxia/show-combinators#1.
This adds
Generic.Data.Internal.Read
and all of the necessary supporting cast.There is an unresolved question here: the
Read1
class did not introduce theliftReadPrec
method untilbase-4.10.0.0
. Prior to that,Read1
only had the less efficientliftReadsPrec
method. As a result, I had to use CPP in various places to supportbase-4.9
, which is withingeneric-data
's support window. We could conceivably avoid CPP by raising the lower version bounds onbase
to>= 4.10
, but I didn't feel bold enough to make this change unilaterally. What do you think?Note that I have not attempted to factor out combinators in the style of Lysxia/show-combinators#1.