
G'day all.
Quoting Henning Thielemann
Why can't GHC and Hugs go this way?
As Alastair noted, the problem is that Haskell allows you to export symbols from a module whose types are unknown unless you type-check modules that it imports. Simple example: module A where import B a = b module B where import A b = a This is only a problem for exported symbols which have no type declarations. As Alastair said:
I guess that leaves two options:
1) Insist on a prototype for any exported function. 2) Insist on a prototype for any imported function which is used.
The latter is more in keeping with Haskell's lazy checking of import clashes.
That's true, but you have to ask why you're exporting a function if you're not going to use it. On the other hand, in the presence of Haskell's "export everything" feature, it makes a certain amount of sense. Cheers, Andrew Bromage