> Only why the ghc implementors keep on saying the mutually recursive
> modules is a headache?
> The bold-naive question arises:
> if ghc compiles, - without warning and without asking the order of
> compilation, - the mutually recursive functions f, g, why cannot it
> do this "similarly" for the modules M, N ?
Well, it should. There is no difficulty in principle. The practical
complication is that M and N have quite different name spaces, (including their
own, separate imports) so it's tricky to arrange. Also one would like to
compile M separately from N, rather than just glomming them together. The
hi-boot stuff is a half-way house. But it works. What we should really
do is document it better.
Simon