Re: bugs in Time.hs

Ross Paterson <[email protected]>
Newsgroups gmane.comp.lang.haskell.hugs.bugs
Message-ID <[email protected]>
On Tue, Aug 26, 2003 at 05:53:32PM +0200, Härmel Nestra wrote:
> I found several divergences of the module  Time  of Hugs (v. Nov 
> 2002 for Linux) from the Haskell Report which can't be found neither
> in the list of known Hugs bugs nor in the list of differences from 
> Haskell 98 (the latter is also too old and claims that  Time  is not 
> yet available).

Thanks for the bug report.

> 1. The report specifies that the field  ctSec  of datatype 
> CalendarTime  must be exported outside the module. In Hugs, this field 
> is missing from the exports list.

This is already fixed in the development version, which uses the same
Time module as GHC.

> 2. The report requires (see the end of the penultimate paragraph 
> before the library starts) that " toClockTime l  converts  l  [...] 
> ignoring the contents of the  ctWDay ,  ctYDay ,  ctTZName ,  and  
> ctIsDST  fields". Hugs, however, does not ignore  ctIsDST .

It is wierd: it constructs an argument using ctIsDST, and then the
primitive evaluates that argument but ignores its value.  I'll remove
the argument from the primitive.

> 3. Additionally, the behaviour of the function  diffClockTime  is 
> strange in Hugs. In the returned record, at most two fields are 
> non-zero:  tdSec  and  tdPicosec . Thereby,  tdSec  is of type  Int  
> which leads to incorrect value in the case of big time differences. 
> The report is amazingly tongue-tied at this point, so it is even 
> difficult to argue that your implementation is diverging. It seems 
> natural to think however that this behaviour is not what was expected. 

Unfortunately this (tdSec::Int) is a known bug in the Haskell 98 Report,
which we must slavishly follow.

> 4. There seem to be problems with dates before year 1970.

That sounds like a Posix problem.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.