> Current versions of Hugs 98 avoid this problem by adding an
> extra, implicit
> condition to the definition of defaulting, marked with ***** in the
> following:
>
> If "v" is an ambiguous variable, and
> if "v" appears only in constraints of the form "C v", and *****
> if one of "v"'s classes is numeric, and
> if all of "v"'s classes are defined in the prelude or std
> libraries, and
> if one of the default types is an instance of all those classes,
> then "v" can be defaulted.
>
> Notice that this extra condition, *****, is necessary to make
> sense of the
> phrase "v"'s classes in subsequent lines, as I've outlined above.
Yes, GHC has exactly the same extra condition.
Thanks for pointing this out. I propose to add it as (yet another)
clarification to the H98 Report.
Unless anyone objects.
Simon