Closed kozross closed 3 years ago
I don't think that the compilation speed is an important issue now. Let's just get it to work ASAP, leaving all the refining for the next phase of work.
Regarding the code changes, I have two comments:
Please notice that in the Prelude module the autoformatting has messed up the positioning of import-sectioning comments, which were intended for easier discovery by package. Let's either restore the order or make a decision to just drop those comments altogether.
The XmlValue name is weird. Element is the standard way to call it, it's used in DOM and in many places of XML documentation. E.g., here it is on Wikipedia: https://en.wikipedia.org/wiki/XML#Element
I would advocate for dropping the comments. For naming, I'm happy to change to XmlElement
, as we'll need a wrapper anyway for providing missing instances.
Great. Approved then!
I've left the wrappers intact name-wise, because I believe them to be clearer. This also avoids orphans by deriving everything via the
Generic
instances inxml-types
, but this is very slow-compiling. We could either hand-roll all the hashing withoutGeneric
(tedious, error-prone and slow) or we can send a PR toxml-types
.