#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