> But that would break existing programs. You would need a language > extension so the feature could be selectively enabled.
Yes. Which means I think that you cannot support a closed world, as given by that simple defining rule, without a language extension. The root of the question seems to be what "closed world" means with "when resolving instances" / "at the last possible moment" (if it it was "at the last stage at global level in a compilation unit" then "g" would have type Int->Int). In my view without that simple defining rule it is difficult to come up with a proposal that is simple, sound and gives principal typings (well, with it is already difficult...:-). Cheers, Carlos _______________________________________________ Haskell-Cafe mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell-cafe
