| Thanks.  Then it's a bug in Hugs98 that show over (->) is still predefined
| in Haskell98 mode. This inconsistency is unfortunate for people 
| who use GHC and Hugs on the same code,.

My fault, I'm afraid.  I didn't notice that this had changed.  (In
my defense, it's not mentioned in the `exhaustive' list of changes at
http://haskell.org/definition/aboutHaskell98.html ... and it's hard
to do diffs on the report itself because the sources aren't available.)

It's obviously too late to debate what goes in Haskell 98 now, but I'm
not all sure it was wise to remove Show (a -> b).  Several years ago,
I would have agreed, but I have subsequently been persuaded that it
serves a very useful purpose, especially in the context of an
interpreter.

For the time being, the quick fix if you're looking for true Haskell 98
compatibility would be to delete the Show (a -> b) instance in the
Hugs 98 prelude.  This is at lines 628,629 in lib/Prelude.hs.  From a
quick scan through the Haskell 98 report, it seems that the instance
of Functor ((->) a) that immediately follows it should probably not
have made it into the final distribution either :-(

All the best,
Mark

Reply via email to