On Wed, 6 Aug 2008, Andrew Coppin wrote: > I just (re)discovered that I can do things like > > data Foo x = Foo Int Int > > Now "Foo Int" and "Foo Double" are, as far as the type checker cares, > two completely different types, even though in fact they are the same. > This is actually Quite Useful, in the particular case I'm working on. > > Here's the thing though... How do I get it so that "Foo Int" and "Foo > Double" produce slightly different strings when printed?
The non-hacky Haskell 98 solution is: class ShowPhantom a where showPhantom :: Foo a -> String You can call this from the 'show' implemention for 'Foo a'. _______________________________________________ Haskell-Cafe mailing list [email protected] http://www.haskell.org/mailman/listinfo/haskell-cafe
