Chronos is one of the many Smalltalk-related blogs syndicated on Planet Smalltalk

Discussion of the Essence# programming language, and related issues and technologies.

Blog Timezone: America/Los_Angeles [Winter: -0800 hhmm | Summer: -0700 hhmm] 
Your local time:  


Version B1.186 of the Chronos Date/Time Library Published

Chronos Version B1.186 has been publised ("Beta Release 1--build 186".) Chronos B1.186 is available for VisualWorks, Squeak and Dolphin. The Chronos Seed Archive for B1.186 is also available (the "Chronos Seed" is the platform-independent Chronos codebase, used for porting Chronos from VisualWorks to other Smalltalk pltatforms.)

Chronos Version B1.186 can be obtained from the Chronos Web Site. The VisualWorks version can also be obtained from the Cincom Public StORE Repository, and the Squeak version can also be obtained from SqueakMap (as a .sar archive.)

NOTE: The SqueakMapPackageLoader tool does not work with the Chronos.sar archive, although Chronos.sar can be dowloaded to your local machine over HTTP and then installed using the Squeak FileList. (This problem has been reported, and a fix has been identified. See: [SM][BUG] Error: can't find EOCD position.)

You may also use the direct download link for VisualWorks, the direct download link for Squeak or the direct download link for Dolphin.

The Chronos Time Zone Repository is included in the download archive. Be sure to follow the Chronos Installation Instructions--especially if you have not already done so for a previous version of Chronos.

If you are reinstalling Chronos into an image in which an earlier version is already resident, and do not install the new version from the Cincom Public StORE Repository using StORE, it is necessary to first remove the earlier version. StORE has been able to correctly install the new version on top of every earlier version I have tried--but I haven't tried them all.

About Chronos Version B1.186

You might also be interested in the new behavior added by Chronos B1.184, which is detailed in its availability announcement (for instance, parsing of durational values.)

Chronos Version B1.186 makes Chronos point-in-time values (instances of YearMonthDay and Timepoint) fully conform to the semantics and API of time intervals, as defined by the Chronos class Timeperiod. Many of the methods of Timeperiod were moved up the inheritance hierarchy to Calendrical, and Calendrical was renamed to TemporalInterval. In the future, Timeperiod may be subclassed under CalendricalCoordinate, instead of under TemporalInterval--but that change is still being evaluated for architectural soundness.

Although Timepoints and YearMonthDays were always conceptually considered to be time intervals, they were not type-compatible with instances of Timeperiod to the extent one might reasonably have expected. Now, there are only two distinctions between a Timeperiod and a CalendricalCoordinate (YearMonthDay or Timepont):
  1. A Timeperiod can have any durational extent (each instance's durational extent is independent from that of any other.) All YearMonthDay instances have a durational extent of one calendar day. All Timepoint instances have a durational extent of one nanosecond.

  2. Currently, a Timeperiod does not provide its own temporal or calendrical coordinates (although that may change in the future, as noted above.) CalendricalCoordinate instances (i.e., instances of YearMonthDay and Timepont,) in contrast, do provide coordinates (e.g., the year, the month, the day-of-the-month, the hour-of-the-day, etc.)

No comments: