{"action":"created","issue":{"url":"https://api.github.com/repos/tweag/rules_haskell/issues/357","repository_url":"https://api.github.com/repos/tweag/rules_haskell","labels_url":"https://api.github.com/repos/tweag/rules_haskell/issues/357/labels{/name}","comments_url":"https://api.github.com/repos/tweag/rules_haskell/issues/357/comments","events_url":"https://api.github.com/repos/tweag/rules_haskell/issues/357/events","html_url":"https://github.com/tweag/rules_haskell/issues/357","id":343393562,"node_id":"MDU6SXNzdWUzNDMzOTM1NjI=","number":357,"title":"Support reexporting modules","user":{"login":"mboes","id":51356,"node_id":"MDQ6VXNlcjUxMzU2","avatar_url":"https://avatars1.githubusercontent.com/u/51356?v=4","gravatar_id":"","url":"https://api.github.com/users/mboes","html_url":"https://github.com/mboes","followers_url":"https://api.github.com/users/mboes/followers","following_url":"https://api.github.com/users/mboes/following{/other_user}","gists_url":"https://api.github.com/users/mboes/gists{/gist_id}","starred_url":"https://api.github.com/users/mboes/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mboes/subscriptions","organizations_url":"https://api.github.com/users/mboes/orgs","repos_url":"https://api.github.com/users/mboes/repos","events_url":"https://api.github.com/users/mboes/events{/privacy}","received_events_url":"https://api.github.com/users/mboes/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":5,"created_at":"2018-07-22T10:04:25Z","updated_at":"2018-07-26T15:56:38Z","closed_at":null,"author_association":"MEMBER","body":"GHC supports reexporting modules from upstream dependencies, since 7.10.3. See https://www.haskell.org/cabal/users-guide/developing-packages.html#pkg-field-library-reexported-modules. This will be useful for Backpack support. We could implement this with an API like the following:\r\n\r\n```python\r\nhaskell_library(\r\n  name = \"foo\",\r\n  deps = [\":bar\", \":baz\"],\r\n  exports = {\":bar\": \"Data.Bar1 as Data.Bar1_2, Data.Bar2 as Data.Bar2_2\"},\r\n)\r\n```\r\n\r\nI propose the `exports` attribute name to be consistent with the Java rules. The syntax inside the strings is the same as Cabal and GHC."},"comment":{"url":"https://api.github.com/repos/tweag/rules_haskell/issues/comments/408146186","html_url":"https://github.com/tweag/rules_haskell/issues/357#issuecomment-408146186","issue_url":"https://api.github.com/repos/tweag/rules_haskell/issues/357","id":408146186,"node_id":"MDEyOklzc3VlQ29tbWVudDQwODE0NjE4Ng==","user":{"login":"lunaris","id":163793,"node_id":"MDQ6VXNlcjE2Mzc5Mw==","avatar_url":"https://avatars2.githubusercontent.com/u/163793?v=4","gravatar_id":"","url":"https://api.github.com/users/lunaris","html_url":"https://github.com/lunaris","followers_url":"https://api.github.com/users/lunaris/followers","following_url":"https://api.github.com/users/lunaris/following{/other_user}","gists_url":"https://api.github.com/users/lunaris/gists{/gist_id}","starred_url":"https://api.github.com/users/lunaris/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lunaris/subscriptions","organizations_url":"https://api.github.com/users/lunaris/orgs","repos_url":"https://api.github.com/users/lunaris/repos","events_url":"https://api.github.com/users/lunaris/events{/privacy}","received_events_url":"https://api.github.com/users/lunaris/received_events","type":"User","site_admin":false},"created_at":"2018-07-26T15:56:38Z","updated_at":"2018-07-26T15:56:38Z","author_association":"NONE","body":"Happy to discuss alternatives on mandatory versions. On @judah's point about global DB; on hacking/reading the document it seems that appending a separator (`:`) to `GHC_PACKAGES_PATH` triggers `ghc-pkg` to add them at the end of the package DB stack, which solves the problem (and allows me to completely back out design choice 3, which is good)."}}
{"actor":{"display_login":"lunaris"}}