
On Sat, Aug 04, 2007 at 11:01:38PM +0100, Tom Shackell wrote:
Consider the following class instance
module Foo.Bar
data Baz = Baz
instance Eq Baz where a == b = True
The Core generated for the '==' function would currently look like:
Foo.Bar.Prelude.Eq.Foo.Bar.Baz.== a b = True
This encodes: - that the instance is defined in the Foo.Bar module - that it is an instance of the class Prelude.Eq - that the data type being given an instance is Foo.Bar.Baz - that the function being defined is '=='
suggest changing the name Core generates to
Foo.Bar;Prelude.Eq.Foo.Bar.Baz.==
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 '==' ? Thanks Ian