> 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



Reply via email to