Release name: B1.190
Release summary: Adds support for infinities, infinitesimals, NaNs, infinite durations, the infinite past and the infinite future
Automatic version: 7
Manual version: B1.190
Published by: Alan Lovejoy (chronos)
Created: 15 January 2007 11:06:15 am
Last updated: 15 January 2007 11:06:15 am
Release note:

B1.190 enhances the Passport inter-Smalltalk portability library (on which Chronos depends) with full support for infinities, infinitesimals and NaNs. Such "metanumbers" can be quite useful, but are often not available, and certainly don't have any standard API or semantics among the various Smalltalk dialects.

The semantics of the new metanumbers correspond to the accepted mathematical norms, and conform to the IEEE floating point specification for the behavior of infinities and NaNs (except that they're not floating point numbers.)

The principle reason metanumbers were added to Passport was to enable Chronos to fully and elegantly support infinite durations, and also points-in-time in the infinite future or infinite past. Time intervals where one of the endpoints is the infinite future or infinite past are quite commonly needed. And now they're easy to construct and use in Chronos.

Also, since Passport now provides infinities (positive and negative) as first-class metanumbers, the class ChronosInfinity, which formerly resided in Chronos-Utilities (where the Time Zone Compiler can be found,) and which was not fully implemented, was removed and retired.

The following concrete classes have been added:

PassportNotANumber (NaN)

So, it may have taken a while, but infinities didn't actually take forever to implement :-)

Release homepage:
SHA checksum: 1235485267792849545459773247357808619489989902199