I've noticed a couple of very minor issues with GHC[i]:

(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.


(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}
]]


In particular, tdSec and tdPicosec have different signs. I don't see what reasonable implementation would yield such a result. I've observed this with programs running interactively under GHCi, and also stand-alone executables.

These tests using GHC 5.04.3, on Windows 2000.

#g
--

BTW, I found the GHC profiler to be very useful, and easy to use. I'm impressed!



-------------------
Graham Klyne
<[EMAIL PROTECTED]>
PGP: 0FAA 69FF C083 000B A2E9  A131 01B9 1C7A DBCA CB5E

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

Reply via email to