-
Notifications
You must be signed in to change notification settings - Fork 236
Conversation
There are definitely bugs to iron out; here is the diff between old and new outputs, after running through prettier: Diff
This output is generated by the script |
As far as I can see, the output now of the golden tests now matches the originals. |
Didn't realise @parsonsmatt was already on to this: #1561. Should this be closed? |
@AriFordsham I'm not sure whether this repo accepts contributions (@Kleidukos?). You might get more engagement from submitting your patch at https://gitlab.haskell.org/ghc/haddock. |
@AriFordsham I don't think this patch is worth pursuing further, for the time being. Adding lucid as a boot library, and transitively blaze-markup, would require a disproportionate amount of maintenance overhead for the potential improvements (based on those reported in the existing patch). A simpler and more incremental win appears to be optimizing xhtml directly, and I think that's the way to go for now. |
I'd like to approach this again after GHC 9.8 is release, which will mark the return of Haddock in the GHC tree. Indeed while the question of dependencies is critical, This will allow us to add lucid2 as a dependency and remove |
@AriFordsham Thanks for starting this btw, I'm closing this PR but the effort will continue on the Haskell GitLab once Haddock moves there. :) |
@Kleidukos if this mirror does not accept contributions, could you possibly mark it as archived and provide a redirection in description? It already fooled too many people. |
@Kleidukos bumping this PR, as Haddock is now in GHC and Lucid's |
Haddock generates HTML using xhtml, which is both unmaintained and slow.
This ports to Lucid, which is a maintained, performance-oriented replacement.
Lucid (transitively) contains one out-of-boot dependency, blaze-markup, but will allow removal of xhtml from boot (assuming Haddock is the only user of boot xhtml?). This increases the total number of boot libraries by one, but allows removing an unmaintained one.
I assume there's some process to go through to get the change in boot libraries to happen.
According to the test suite it seems to be correct, but may be missing further testing, and has not been benchmarked.
Still to be done: