[plt-scheme] current-seconds, fixnum versus bignum, and January 2004

From: Matthew Flatt (mflatt at cs.utah.edu)
Date: Tue Jun 24 16:33:57 EDT 2003

Currently, on a 32-bit machine with a properly set clock, the
`current-seconds' prcedure returns a fixnum, because the result is less
than `(expt 2 30)'.

Starting sometime on January 10, 2004, the result will be greater than
`(expt 2 30)', so the result will be represented by a bignum.

This is true for all versions of MzScheme under Unix, Windows, or Mac
OS X.

It's not likely to cause anyone trouble. Maybe if you call
`current-seconds' every few milliseconds you could see performance
problems. Using `eq?' or eq-hashing would also be a problem, but it's
difficult to imagine such a program.

Nevertheless, it seemed worth mentioning the thought now, in case
something suddenly goes wrong next January.

Matthew



Posted on the users mailing list.