GHCi: No instance for (Show (IO ()))
From Wolfgang Thaller:
This behaviour (from today's stable branch) is slightly
confusing:
> Prelude> print id
>
> Top level:
> No instance for (Show (IO ()))
> arising from use of `print' at Top level
> Probable fix: add an instance declaration for
(Show (IO ()))
> In a 'do' expression: print it
>
> <interactive>:1:0:
> No instance for (Show (a -> a))
> arising from use of `print' at <interactive>:1:0-4
> Probable fix: add an instance declaration for
(Show (a -> a))
> In the definition of `it': it = print id
The second message makes sense, but the first one
doesn't. Also, what's
the difference between "Top level" and "<interactive>:1:0"?
Trac metadata
| Trac field | Value |
|---|---|
| Version | 6.4 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | low |
| Resolution | ResolvedFixed |
| Component | GHCi |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture |