Especially since we're not ignoring leap seconds; in UTC, "30 days" is
not always 30*86400 atomic seconds.  Other units are more obviously
variable-length, but you have to be careful.  If you increment one
month at a time with autocorrect, 4 months from Jan 31 gets you Jun 2
or 3 instead of May 31.

On Friday, April 9, 2010, Mark Biggar <m...@biggar.org> wrote:
> On 4/9/2010 4:53 AM, Moritz Lenz wrote:
>
> Am 09.04.2010 13:34, schrieb Mark J. Reed:
>
> The date still corresponds to an actual day. If I set it to Feb 31, I
> should get back Mar 2 or 3 depending on the year. While I'm having
> trouble thinking of a good specific example, it's a capability I've
> taken advantage of many times, in holiday calculations, calendar
> conversions, and such. I believe it's Python's datetime module that
> has unchecked_* methods for the purpose.
>
> Maybe in p6 the setters could do the correction if the exception is
> resumed?
>
>
> Too much magic. Sounds to me like you want a named parameter for a
> setter, like :force or :unchecked or so.
>
> Anyway, I'm not sure such a feature needs to be in the core, at least
> not in 6.0.0.
>
>
> Unless forming a duration based on various units is really simple, un-checked 
> setters makes generating new Instants from one ones simpler.  It is very 
> useful to be able to implement the operators tomorrow, yesterday, 
> thirty_days_from_now, twelve_hours_ago, etc, just by incrementing through the 
> appropriate setter, especially in one-liners.
>
> --
> m...@biggar.org
> mark.a.big...@comcast.net
>
>

-- 
Mark J. Reed <markjr...@gmail.com>

Reply via email to