George Russell wrote: > I like the idea too, not just for Show but for any instances. It seems to > me that in general you should be able to combine the convenience of the > Haskell type system with the power of Standard ML's structures and functors. > Something along these lines was done by Kahl & Scheffczyk ("Named Instances > for > Haskell Type Classes", Haskell Workshop 2001). [..] > (3) a way of using the dictionary. For this we need (appFn), declaraed by > the type > declaration. appFn has the unorthodox type > > appFn :: ShowDict a -> (forall a . Show a => b) -> b
I've wanted this too. Amongst other things, it would subsume all the "fooBy" functions in the prelude and libraries - instead of having both sort and sortBy, you could just build an Ord dictionary and pass it to sort. Note that there should be a way of creating a dictionary without creating an ordinary instance - in the OP's application, you would want two intShowDicts, one of which showed in decimal and the other of which showed in hex. In Haskell you can't have two instance declarations for the same type... --KW 8-) _______________________________________________ Haskell mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell