|
Re: Interaction and ambiguous type variables: msg#00009lang.haskell.glasgow.bugs
Ralf Hinze <ralf@xxxxxxxxxxxxxxxxxxxxxx> 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
|
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| Previous by Date: | Re: Interaction and ambiguous type variables, Alastair Reid |
|---|---|
| Next by Date: | RE: Interaction and ambiguous type variables, Simon Peyton-Jones |
| Previous by Thread: | Re: Interaction and ambiguous type variables, Alastair Reid |
| Next by Thread: | Re: Interaction and ambiguous type variables, C.Reinke |
| Indexes: | [Date] [Thread] [Top] [All Lists] |
| News | FAQ | advertise |