[GHC] #9191: Semi-exported names

GHC ghc-devs at haskell.org
Wed Jun 11 00:40:31 UTC 2014


#9191: Semi-exported names
-------------------------------------+------------------------------------
        Reporter:  dfeuer            |            Owner:
            Type:  feature request   |           Status:  new
        Priority:  low               |        Milestone:
       Component:  Compiler          |          Version:  7.8.2
      Resolution:                    |         Keywords:
Operating System:  Unknown/Multiple  |     Architecture:  Unknown/Multiple
 Type of failure:  None/Unknown      |       Difficulty:  Unknown
       Test Case:                    |       Blocked By:
        Blocking:                    |  Related Tickets:
-------------------------------------+------------------------------------

Comment (by dfeuer):

 Replying to [comment:3 carter]:

 > Do you think those works will subsume your proposal?

 I don't believe so. Backpack appears to build a whole new layer on top of
 the primitive module system to impose constraints on modules, support
 separate type-checking, etc. It (or something similar) looks likely to
 become an important part of the Haskell ecosystem, supporting large
 projects and interdependent libraries. My proposal is a much more
 restricted one, filling in a small gap in the underlying module system
 itself that can cause trouble when modifying a module that ''old'' code
 imports in its entirety. This old code (which, since it uses unrestricted
 module import, was probably written with more of an eye toward release
 date than long-term maintenance) may never be retrofitted to use a system
 like Backpack. The specific use-case I had in mind was adding `uncons ::
 [a] -> Maybe (a, [a])` to `Data.List`. It obviously ''belongs''  there,
 but adding it could break a lot of modules that just `import Data.List`.
 If it were possible to make it hidden, so only modules that want it would
 get it, then all would be fine.

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9191#comment:4>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list