Sat, 29 Apr 2000 13:22:36 +0200 (MET DST), Tommy Thorn <[EMAIL PROTECTED]> pisze:

>       Probable cause: missing `Show a' in type signature for `return'

> Sure there's a missing Show a, but I can't change the signature
> of return and it seems to me that Show a should follow from the
> constraint on TracingEv

Yes, the error message is misleading.

> Is this a fundamental limitation?  If so, why?

Where should an error message be reported in the following case?

test:: Monad m => m ()
test = return foldr >> return ()

test':: TracingEnv Int
test' = test >> return 5

Some error must be reported, because the code forces the compiler
to show a function (foldr).

Before we think whether it could be implemented, we must think about
its semantics.

-- 
 __("<    Marcin Kowalczyk * [EMAIL PROTECTED] http://qrczak.ids.net.pl/
 \__/              GCS/M d- s+:-- a23 C+++$ UL++>++++$ P+++ L++>++++$ E-
  ^^                  W++ N+++ o? K? w(---) O? M- V? PS-- PE++ Y? PGP+ t
QRCZAK                  5? X- R tv-- b+>++ DI D- G+ e>++++ h! r--%>++ y-


Reply via email to