#haskell's time library is extremely future and past-proof using unbound integers: "type Year = Integer". On second thought, maybe interesting for astronomists and geologists?
@weekend_editor (only when it wasn't ... TIME and such protocols it would be a fixnum, and inlow level code it would also need to be a fixnum so it could be unboxed/boxed :-) )
@weekend_editor@pmidden I can't comment on Symbolics stuff, it used a internal clock chip or something to get the time instead of (by default) asking the network.
The CADR had no real RTC ... it would ask the network for the time (32-bit) and then be happy, using a 60Hz tick from the electrical network to keep track (I think).
I had to fix a bunch of places in the System code to manage 2000 ...
@weekend_editor@pmidden Other silly places is where you have the QFASL (or QBIN ..) where the file property list has a fixnum with the creation date, that isn't stored in bignum for obvious reasons.
@weekend_editor@pmidden They still, I think, had the :creation-date encoded in them as a fixnum -- though maybe it could be a digit that was a big number and got handled later ...
"One day, Doug Dodds (I think?) came up with a "solution". (Quotes because it worked for us, with a lot of lispms, but wouldn't work for a customer site with only 1 or 2.) It was to have the lisp machines all ask each other what time it was, and then set their clocks to the average of the result. "
But they weren't very good! There was significant forward/backward drift in seconds as the days went by. And since those machines were reliable enough that they might not be booted for months, this was a problem.
One day, Doug Dodds (I think?) came up with a "solution". (Quotes because it worked for us, with a lot of lispms, but wouldn't work for a customer site with only 1 or 2.) It was to have the lisp machines all ask each other what time it was, and then set their clocks to the average of the result.
Some time chips were faster, some were slower, but it averaged out *quite* nicely.
I had a nice time explaining the Central Limit Theorem to some colleagues who wanted to know why it worked. :-)