On 3/10/08, John Meacham
On Mon, Mar 10, 2008 at 01:50:09PM -0400, Samuel Bronson wrote:
On 3/10/08, John Meacham
wrote: instance Foo Char where foo c = ord c
produces the following core
Instance@.Main.Foo.foo.Prelude.Char :: Char -> Int Instance@.Main.Foo.foo.Prelude.Char c = ord c
{-# RULES "foo/char/instance" Main.foo Char = Instance@.Main.Foo.foo.Prelude.Char #-}
Hmm. What should I name default implementations?
Those are named 'Instance@.Main.Foo.foo.default' and have the type 'forall a . a -> Int' . A default method always exists, even if it is just an error saying no default method was supplied. RULES are generated for the default methods as well in the same fashion.
Well, I meant the additional default methods offered by class aliasses... and what can I do to keep track of what the proper method name is so I can generate the RULES later...