Hi

> 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.

I would have thought the best encoding would be:

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

OR

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

In the first the rule for extracting module names is "up to the first
; or last .", in the second its "skip all bits before  ;" - and I'm
leaning towards the first. I read the first as "hey, I'm located in
Foo.Bar, I operate over Foo.Bar.Baz and I'm really just a type
specific version of Prelude.Eq.=="

Although I would be perfectly happy with 3 semi-colons - I think it is
important to know and track class dictionaries at the Core level.

Whatever scheme we do go with, I suggest a coreFunModule function be
added which obtains the module from a function name, and assuming
dictionaries are unambiguous, coreFunDictionary to split up the
pieces.

Thanks

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

Reply via email to