
Andrew, Thanks very much for your reponse. It was very helpful; this makes a lot of sense! Regards, Chris. On Mon, 11 Aug 2008 ajb@spamcop.net wrote:
G'day all.
Quoting "C.M.Brown"
: Yes, I saw that, thanks! I guess this is because it's hard to compile a mutually recursive module...
It's because you don't need to declare the types of exported definitions.
Consider, this highly artificial example:
module A where
import B
f (x,y) = g (x,'A')
module B where
import A
g (x,y) = f (True,y)
To infer the types of f and g, you need to analyse both modules together.
And yes, some people think that this is a bug in the specification.
Cheers, Andrew Bromage _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe