On 23 Aug 2002, Dr Mark H Phillips wrote:
Am I right in thinking the trade-off is between * the expressability power of the type system; and * the ability pick up certain forms of human error?
Well, yes. When you extend the power of the type system like this, you are allowing more programs to typecheck. In this case, we suspect that "the majority" (whatever that means) of the newly accepted programs are actually erroneous. That doesn't make a strong case for the extension -- even if it would sometimes be useful.
Why not allow infinite types thereby gaining extra power which may sometimes be useful, but introduce the option (in hugs or ghc) of providing a warning every time "unification would give infinite type"? This would allow us to "have our cake and eat it too"! (But probably there's a catch:-)
I can imagine a "-fallow-infinite-types" flag to ghc --- goodness knows, the type-checker has enough other flags of that sort! You can always try to persuade Simon to put it in. But I don't fancy your chances: the case for it just isn't very strong. John