Ralf Hinze <[EMAIL PROTECTED]> writes: > I am posting the following bug report every once in a while. > > Main> mirror [] > ERROR - Cannot find "show" function for: > *** Expression : mirror [] > *** Of type : [a] > > << Instructor: > it's because `mirror []' has the polymorphic type `[a]' and the > compiler cannot determine the `Show' instance for `a'.
It might be worth pointing out that, even though Hugs and ghci have this problem, nhc98 (used interactively through 'hi') does not. It follows your suggested solution: > The general problem is that the expression submitted to Hugs or GHC has a > polymorphic type *or* that a subexpression has a polymorphic type (as > in the last example). A simple solution is to monomorphize the type > instantiating all type variables to, say, the empty type `Void'. except that nhc98 uses the in-scope defaulting rule (e.g. default (Integer)) to select an arbitrary dictionary to plug in, rather than introducing a new type. There are only rare cases in which the actual dictionary matters, so this suffices for the beginner. Regards, Malcolm _______________________________________________ Glasgow-haskell-bugs mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs