-
Notifications
You must be signed in to change notification settings - Fork 236
Conversation
Matches b71da1feabf33efbbc517ac376bb690b5a604c2f from hackage-server. Fixes #967.
* don't forget to print explicit `forall`'s when there are arg docs * when printing an explicit `forall`, print all tyvars Fixes #973
The information about whether or not there is a source-level `forall` is already available on a `ConDecl` (as `con_forall`), so we should use it instead of always assuming `False`! Fixes #1002.
It looks like the new versions don't cause any breakage and loosening the bounds helps deps fit in one stack resolver.
So this is something already fixed in the Hi Haddock branch at a53c131. There are a bunch of fixes to If @sjakobi isn't planning on working on Hi Haddock this weekend, I could try to do that now. Thoughts @sjakobi? |
Looking at a53c131, it looks like that commit tackles the problem in a much different way. Intead of using |
You are right, this is the right way to fix things! I just want to get ahead of the Hi Haddock merge conflicts before merging this.
… On Feb 2, 2019, at 9:37 AM, Ryan Scott ***@***.***> wrote:
Looking at a53c131 <a53c131>, it looks like that commit tackles the problem in a much different way. Intead of using dataConUserTyVars, it simply hardcodes con_forall to False! If I'm reading that correctly, that means that Haddock will never render the foralls in a GADT constructor's type signature, which feels rather strange.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub <#1016 (comment)>, or mute the thread <https://github.com/notifications/unsubscribe-auth/AKRHAcN7t1jS1brJZBU0jGxzdsib0XLhks5vJczmgaJpZM4afphn>.
|
@RyanGlScott I've split out of |
I take it, then, that you don't want me to target this PR against |
Yep, that’s right. Sorry for all of the hassle :(
… On Feb 4, 2019, at 8:46 AM, Ryan Scott ***@***.***> wrote:
I take it, then, that you don't want me to target this PR against ghc-8.6 (as it is currently)?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub <#1016 (comment)>, or mute the thread <https://github.com/notifications/unsubscribe-auth/AKRHAXDktv56JvPpE-qE0QymK9YN1R7Sks5vKGPTgaJpZM4afphn>.
|
That's fine—I'm just wondering if this could be cherry-picked into |
Oh I see. Sigh. I guess we can merge this now in |
Perhaps I'm operating under a misconception. I was under the impression that Haddock releases occurred independently of GHC, and that the |
That's not the case. Since most people get Haddock from their GHC installation (NB: the binary-dists that get released include a Haddock executable), I've been syncing releases up with GHC releases. I guess we could release more often, but I doubt people would remember to install a newer version of Haddock. And even if they did:
This part is spot on. We regularly merge branches for older release cycles into ones for newer release cycles. This sort of merge is generally not very pleasant though. If you have any ideas for improving this state of affairs, I'm all ears. 😄 |
I wasn't aware of the nuances that go into Haddock releases, thanks for letting me know. I certainly don't want to create more work for you, so forget I said anything about cherry-picking into I'll see if I can wrangle GitHub to change the branch I'm targeting against. |
It looks like the |
Closing in favor of #1022. |
The central trick in this patch is to use
dataConUserTyVars
instead ofuniv_tvs ++ ex_tvs
, which displays theforall
s in a GADT constructor in a way that's more faithful to how the user originally wrote it. With these changes, the example from #1015 now renders as:Along the way, I simplified some code that tried to calculate where a data constructor should use GADT syntax in an ad hoc fashion. Luckily, this information is cached as
isGadtSyntaxTyCon
, so I just used that instead.Thankfully, there's already a test case in
html-test
that stress-tests this code path, so I didn't need to add the test case from #1015 (since it relies on code frombase
which might change in the future).