
On 12 Aug 2008, at 11:59, C.M.Brown wrote:
Andrew,
Thanks very much for your reponse. It was very helpful; this makes a lot of sense!
And yes, some people think that this is a bug in the specification.
I'm not sure that it does make a lot of sense -- we allow (mutually) recursive functions, even though they come with an efficiency penalty. Why should we not allow (mutually) recursive modules, even though they too come with an efficiency penalty. This is even an example where the efficiency loss is *only* at compile time, and only happens once, so it's somewhat a better situation than allowing mutually recursive functions. I'd say it falls very heavily into the ghc-bug category, not the spec bug category (even if there's reasons for the bug existing in ghc). Bob