> (1) unhelpful error message from GHCi:
> 
> [[
> Compiling ParsecPrim       ( F:\Haskell\Lib/ParsecPrim.hs, 
> interpreted )
> WARNING: ignoring polymorphic case in interpreted mode.
>     Possibly due to strict polymorphic/functional constructor args.
>     Your program may leak space unexpectedly.
> ]]
> I don't understand what this is trying to say, and the lack 
> of a source 
> code line number doesn't give me any chance to study the code for 
> clues.  This warning is GHCi only.

It is warning you about a bug in GHC.  Fortunately, the bug has been
fixed in the forthcoming 6.0 release.

> (2) Strange behaviour of GHCs Time.diffClockTimes function:
> 
> This code fragment:
> [[
> runTest t =
>      do  { st <- Time.getClockTime
>          ; putStr $ "Test started:  "++show st++"\n"
>          ; runTestTT t
>          ; ft <- Time.getClockTime
>          ; putStr $ "Test finished: "++show ft++"\n"
>          ; let et = Time.diffClockTimes ft st
>          ; putStr $ "Test duration: "++show et++"\n"
>          }
> ]]
> 
> yields this output:
> [[
> Test duration: TimeDiff {tdYear = 0, tdMonth = 0, tdDay = 0, 
> tdHour = 0, 
> tdMin = 0, tdSec = 9, tdPicosec = -437000000000}
> ]]

This is reasonable, as far as I can tell.  The only requirement on a
TimeDiff is that:

  t1 `addToClockTime` (t1 `diffClockTimes` t2) == t2

and the TimeDiff above does just that.  It *could* be normalised so that
the signs of the two components are the same, but the current
implementation doesn't do that.

Cheers,
        Simon
_______________________________________________
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell

Reply via email to