Ian Lynagh wrote:
How do you know that this isn't:

 - that the instance is defined in the Foo.Bar module
 - that it is an instance of the class Prelude.Eq.Foo
 - that the data type being given an instance is Bar.Baz
 - that the function being defined is '=='

?

Indeed you don't, however, the yhc compiler only cares about being able to separate the module name so the change is sufficient for its purposes.

To give a truely unique and unambiguous name something like

Foo.Bar;Prelude.Eq;Foo.Bar.Baz;==

would be necessary. This would also be a possible encoding if people thought it was preferable.


Cheers :-)

Tom
_______________________________________________
Yhc mailing list
Yhc@haskell.org
http://www.haskell.org/mailman/listinfo/yhc

Reply via email to