#1409: Allow recursively dependent modules transparently (without .hs-boot or
anything)
---------------------------------+------------------------------------------
    Reporter:  Isaac Dupree      |        Owner:              
        Type:  feature request   |       Status:  new         
    Priority:  normal            |    Milestone:  _|_         
   Component:  Compiler          |      Version:  6.10.2      
    Keywords:                    |     Testcase:              
   Blockedby:                    |   Difficulty:  Unknown     
          Os:  Unknown/Multiple  |     Blocking:              
Architecture:  Unknown/Multiple  |      Failure:  None/Unknown
---------------------------------+------------------------------------------

Comment(by guest):

 This is a long message coming from an observer at the edge of
         the Haskell solar system; here goes...

         The archetypal UNIX philosophy is "do one thing and do it well",
         and GHC does just that - it takes one module, the interfaces of
         its imports, and generates the interface and binary for the
         given module; and a cracking job it does.

         As I see it, the problem of mutually-dependent groups of modules
         comes down to missing interfaces - if they were already present,
         a single-module compiler could process each of the modules in
         such a group, just as it has always done.

         So what seems to be needed is something else that does one thing
         well - take one mutually-dependent module group, the interfaces
         of their imports, and generate just the interfaces for the
         modules in the given group - a "resolver", if you will.

         In this way, each tool deals with one key source of complexity -
         either generating optimised binaries, or resolving interdependent
         interfaces - instead of trying to build and maintain one enormous
         tool containing all that complexity.

         A prototype could be built with the Programatica front and
         mid-section modified to read and write GHC interface files. This
         would get Haskell 98 working as a first step, with the various
         extensions being added later to the production version, be it
         scratch-built or derived from the prototype.

         If nothing else, this approach would quickly close this ticket
         (one way or the other!) without the huge upheaval to the GHC
         codebase which everyone involved wants to avoid.

-- 
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/1409#comment:40>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
_______________________________________________
Glasgow-haskell-bugs mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs

Reply via email to