-
Notifications
You must be signed in to change notification settings - Fork 691
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
Document the relationship between ComponentId, UnitId, MungedPackageId, PackageId etc. #5809
Comments
FWIW, if someone points out what is the missing documentation for parsec parser implementation, I'd be glad to answer those questions in a note too. |
https://ghc.haskell.org/trac/ghc/wiki/Commentary/Packages/Concepts are the docs you are looking for. |
@ezyang that wiki page doesn't mention MungedPackageId |
I think you want this comment in MungedPackageName:
|
But that's not true, with package environment containing
should other Did multiple public libraries patch changed something? Or does something use the wrong type? |
Yeah, that doesn't look too good. Maybe something is broken. Will have to look later. |
... though
Does |
Why we didn't teach |
To your first comment: That would make sense. But I was under the impression that unit IDs included component names, and that's not what I see above. So it may also be a rendering bug on GHC's part. The right thing to do is teach ghc-pkg to know about components, but since Cabal supports older versions of ghc-pkg, it still needs to do the MungedPackageId workaround. |
@ezyang so, is |
@ezyang Can we convert |
That sounds good to me! |
Good. As I merged the patch yesterday :)
…Sent from my iPhone
On 7 Jan 2019, at 16.41, Edward Z. Yang ***@***.***> wrote:
That sounds good to me!
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.
|
Aaaand I think there is more: In Backpack we talk about instantiations of packages. I am speaking about the case where there is a Backpack package My current hunch is that we need to extend our MungedPackageName encoding to include instantiations as well. Haven't come around to bake a small reproducer yet. |
There are these types:
ComponentId
,UnitId
,MungedPackageId
,PackageId
etc. which all seems to be same same but different. There should be a technical note in the code describing their relationship, withHonestly, I have no idea what are the subtle differences about these types, and I won't read through GitHub issues to find out. The note in the code would be the right place to refer.
As an example,
ComponentId
is documented asAnd there are no remarks how things are different in Backpack case.
Related issue #4761
There is a Mapping from semantic objects in this thesis (Fig. 3.5 and Fig. 6.1) to their definitions
in GHC table in Edwards thesis. Something similar but for Cabal types would be great to have too.
The text was updated successfully, but these errors were encountered: