-
Notifications
You must be signed in to change notification settings - Fork 12
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Automate the maintenance of base-compat's export lists #49
Comments
Question: what should we put in the module-level Haddocks? Should we put:
|
At least my original idea was not to worry about the Haddocks too much and refer users to the documentation of the latest version of When built with the latest version of GHC (what Hackage does, and what is hence used for the Haddocks on Hackage at least), then |
Unfortunately, no. At least, not as far as the presentation of Haddocks is concerned. Compare the Haddocks for |
What I actually meant is:
This is as far as Hackage is concerned and assuming that we are only interested in the latest version of When you build the Haddocks locally with an older version of GHC on the other hand then you can get a slightly different API than what is in My point was, if we only care about Hackage then I think better documentation for Does this make sense? |
Ultimately, it's @phadej who cares the most about this issue, not me. I think I'll let him answer this question. |
I'm not concerned about haddocks, I'm concerned about explicit export lists, vs. re-exporting the module. If we extend tests to include all modules (i noticed there are only a handful), then the tests will catch if there are differences. I suspect that there might be issues. I'm afraid that without explicit export lists and tests we may forget to shim some new things/changes happening in Also we have modules like
This non-uniformity is non-clear to me. |
In #48, @phadej brought up that we should be using explicit export lists more often than we currently do, since:
base
. (This isn't a foolproof guarantee, since it's possible the types of functions could be different across different versions ofbase
. But for those cases, we should be able to test for that.)That being said, keeping explicit export lists up-to-date with the latest version of
base
is a huge timesink. It would be far preferable if there were a way to automatically scrape this information frombase
itself.I imagine there will be some complications involved, since
base-compat
often uses CPP in its export lists at the moment. But perhaps we can defer all of the CPP to the rest of the module instead, and leave the export list unaltered, it that would make things easier to automate.The text was updated successfully, but these errors were encountered: