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:  

2005-12-29

New Chronos Version Published (B1.001/2005-12-30T07:41:19+0000)

Version B1.001 of Chronos was published Fri, 30 Dec 2005 07:41:19 +0000 (UT: Universal Time). This version contains some performance enhancements, and some methods have been recoded for greater elegance.

Also, the following methods have been introduced:


CalendricalCoordinate>>convertToCalendar:
Timepoint>>convertToCalendar:
Timepoint>>convertToTimeZone:.

As a result, Timepoint>>setTimeZone: now has semantics that are completely analogous to those of CalendricalCoordinate>>setCalendar:. Both methods now do nothing more than


a) resolve the argument into an instance either of ChronosTimezone or of Calendar (respectively,)
b) raise an Exception if the receiver isn't mutable, and
c) set the appropriate instance variable to the value represented by the method argument.

Previously, Timepoint>>setTimeZone: would convert the receiver from one time zone to another, if the receiver's time zone was not nil (behavior which was not analagous to that of CalendricalCoordinate>>setCalendar:.) Consequently, Timepoint>>setTimeZone: can no longer be used to rebind a (mutable) Timepoint to a different local time, while preserving the designated moment in Universal Time. Instead, Timepoint>>convertToTimeZone: must be used for that purpose.

No comments: