#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
---------------------------------+------------------------------------------
Changes (by illissius):

 * cc: illissius@… (added)


Comment:

 Replying to [comment:22 simonpj]:
 > "I absolutely hate it if I have to write a .hc-boot file" (I assume you
 mean hs-boot file).  I'm interested in identifying precisely what it is
 that you hate, lest we fix the wrong thing:
 >
 >  * Do you hate writing the type signatures of the functions that the
 module exports?  (After all, most Haskell programmers do that routinely.)
 >  * Do you hate putting those type signatures in a physically different
 file?  That is would the hate be alleviated if the signatures were in the
 same file as the module implementation?

 I hate having to write them twice, or having to put them in different
 places depending on an implementation detail. If GHC could re-use the
 signatures I already write anyways it would be a great improvement.

 >  * Or perhaps you hate something else?  Such as having to pick a place
 to cut the recursive loop at all?
 >
 > I'm interested in this because the ML community regards it as a
 ''major'' virtue that module signatures and implementations are separate,
 so that you can
 >   * Import a module (via its signature) before you have written its
 implementation
 >   * Provide more than one implementation of a common signature, and
 thereby be confident that switching implementations will not cause errors.

 That's attractive, and if that were how things worked across the board I
 think it would have both benefits and drawbacks relative to the current
 system. But it seems to me that -boot files provide only the drawbacks.

-- 
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/1409#comment:44>
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