Re: r25445 - docs/Perl6/Spec/S32-setting-library

2009-02-23 Thread Darren Duncan
Larry Wall wrote: On Fri, Feb 20, 2009 at 03:31:03PM -0300, Daniel Ruoso wrote: : Em Sex, 2009-02-20 às 10:17 -0800, Larry Wall escreveu: : By the by, I'm also inclined to agree with those who prefer Instant : to DateTime on aesthetic grounds. Yay, I consider that a blessing. Also yay on

Re: Perl's internal time (was: Re: r25445 - docs/Perl6/Spec/S32-setting-library)

2009-02-22 Thread Chris Dolan
On Feb 22, 2009, at 12:39 AM, Brandon S. Allbery KF8NH wrote: On 2009 Feb 20, at 14:36, Chris Dolan wrote: UTC: TAI with an offset, as corrected for the actual revolution of the Earth: usually 60 seconds in a minute, but occasionally 59 or 61. 60 minutes in every hour (so 3599, 3600, or

Re: Perl's internal time (was: Re: r25445 - docs/Perl6/Spec/S32-setting-library)

2009-02-22 Thread Doug McNutt
At 11:42 -0600 2/22/09, Chris Dolan wrote: Floating point time would be cooler. :-) And it has been in use by Microsoft in the Excel spreadsheet since the Apple Plus which didn't have floating point hardware. But then Excel uses the day as the unit. the second would be better.

Re: Temporal changes (was: Re: r25445 - docs/Perl6/Spec/S32-setting-library)

2009-02-22 Thread Martin D Kealey
On Fri, 20 Feb 2009, Dave Rolsky wrote: Renamed Temporal::Instant to Temporal::DateTime Hmm. We had some mailing list discussion about this, and agreed on Instant. I'd like to see your reasons in favour of DateTime. Because DateTime makes sense and is a clear description of what the

Re: Temporal changes (was: Re: r25445 - docs/Perl6/Spec/S32-setting-library)

2009-02-22 Thread Timothy S. Nelson
On Fri, 20 Feb 2009, Dave Rolsky wrote: On Fri, 20 Feb 2009, Timothy S. Nelson wrote: Format specifiers - this could come from locales (CLDR specifies this) or strftime, but again, it's more complicated than is needed [snip] Added iso8601 output for every role, and made that the

Re: Temporal changes (was: Re: r25445 - docs/Perl6/Spec/S32-setting-library)

2009-02-22 Thread Martin D Kealey
On Mon, 23 Feb 2009, Timothy S. Nelson wrote: Renamed Temporal::Instant to Temporal::DateTime Hmm. We had some mailing list discussion about this, and agreed on Instant. I'd like to see your reasons in favour of DateTime. Because DateTime makes sense and is a clear description

Re: Temporal changes (was: Re: r25445 - docs/Perl6/Spec/S32-setting-library)

2009-02-22 Thread Timothy S. Nelson
On Mon, 23 Feb 2009, Martin D Kealey wrote: On Mon, 23 Feb 2009, Timothy S. Nelson wrote: Renamed Temporal::Instant to Temporal::DateTime Hmm. We had some mailing list discussion about this, and agreed on Instant. I'd like to see your reasons in favour of DateTime. Because

Re: r25445 - docs/Perl6/Spec/S32-setting-library

2009-02-21 Thread David Green
On 2009-Feb-20, at 11:17 am, Larry Wall wrote: Certainly, we'll be depending on the type system to keep these things straight. I'm not suggesting the user use bare Nums as anything other than naive durations for APIs such as sleep(). If we have some units to make suitable objects, we can say

Re: r25445 - docs/Perl6/Spec/S32-setting-library

2009-02-21 Thread Brandon S. Allbery KF8NH
On 2009 Feb 20, at 12:21, Daniel Ruoso wrote: Em Sex, 2009-02-20 às 10:40 -0600, Dave Rolsky escreveu: On Fri, 20 Feb 2009, Daniel Ruoso wrote: If we're going to use an epoch, it should be the Operating System's epoch. Anything else will lead to confusion and disorder ;P And which OS epoch

Re: Perl's internal time (was: Re: r25445 - docs/Perl6/Spec/S32-setting-library)

2009-02-21 Thread Brandon S. Allbery KF8NH
On 2009 Feb 20, at 14:36, Chris Dolan wrote: UTC: TAI with an offset, as corrected for the actual revolution of the Earth: usually 60 seconds in a minute, but occasionally 59 or 61. 60 minutes in every hour (so 3599, 3600, or 3601 seconds), 24 hours in every day (86399, 86400, or 86401

Re: Temporal changes (was: Re: r25445 - docs/Perl6/Spec/S32-setting-library)

2009-02-20 Thread Dave Rolsky
On Fri, 20 Feb 2009, Timothy S. Nelson wrote: Format specifiers - this could come from locales (CLDR specifies this) or strftime, but again, it's more complicated than is needed [snip] Added iso8601 output for every role, and made that the stringification. ISO8601 is unambiguous world-wide,

Re: r25445 - docs/Perl6/Spec/S32-setting-library

2009-02-20 Thread Dave Rolsky
On Thu, 19 Feb 2009, Larry Wall wrote: Is there a way in which a class which does the Date role could change the type $.year so it was Int|Undef? Doesn't have to. Int already comes with an undefined value known as Int, aka the protoobject. Only subset types (and their cousins, native types)

Re: r25445 - docs/Perl6/Spec/S32-setting-library

2009-02-20 Thread Daniel Ruoso
Em Qui, 2009-02-19 às 15:58 -0800, Larry Wall escreveu: That being said, I'm thinking that all actual times represented by floats in Perl are TAI time, not the Unix pseudo time with hidden leap seconds. I sure wish they'd done away with civic leap seconds in 2000 and said we'll put in a leap

Re: r25445 - docs/Perl6/Spec/S32-setting-library

2009-02-20 Thread Dave Rolsky
On Fri, 20 Feb 2009, Daniel Ruoso wrote: Em Qui, 2009-02-19 às 15:58 -0800, Larry Wall escreveu: That being said, I'm thinking that all actual times represented by floats in Perl are TAI time, not the Unix pseudo time with hidden leap seconds. I sure wish they'd done away with civic leap

Re: Perl's internal time (was: Re: r25445 - docs/Perl6/Spec/S32-setting-library)

2009-02-20 Thread Mark J. Reed
Considering time scales, there are three that significantly interrelate, and no matter what Perl 6 uses internally, it needs to be able to convert to and from these: TAI: continuous count of time using SI seconds as measured by atomic clocks, 60 seconds in every minute, 60 minutes in every hour,

Re: r25445 - docs/Perl6/Spec/S32-setting-library

2009-02-20 Thread Daniel Ruoso
Em Sex, 2009-02-20 às 10:40 -0600, Dave Rolsky escreveu: On Fri, 20 Feb 2009, Daniel Ruoso wrote: If we're going to use an epoch, it should be the Operating System's epoch. Anything else will lead to confusion and disorder ;P And which OS epoch would that be? The one where the program is

Re: r25445 - docs/Perl6/Spec/S32-setting-library

2009-02-20 Thread Larry Wall
On Fri, Feb 20, 2009 at 02:21:50PM -0300, Daniel Ruoso wrote: : Em Sex, 2009-02-20 às 10:40 -0600, Dave Rolsky escreveu: : On Fri, 20 Feb 2009, Daniel Ruoso wrote: : If we're going to use an epoch, it should be the Operating System's : epoch. Anything else will lead to confusion and disorder

Re: r25445 - docs/Perl6/Spec/S32-setting-library

2009-02-20 Thread Larry Wall
On Fri, Feb 20, 2009 at 08:12:36AM -0600, Dave Rolsky wrote: That's certainly fine with me, but I think we'd still want some simple objects on top of them, rather than handing people a single epoch numbre to deal with. Certainly, we'll be depending on the type system to keep these things

Re: r25445 - docs/Perl6/Spec/S32-setting-library

2009-02-20 Thread Daniel Ruoso
Em Sex, 2009-02-20 às 10:17 -0800, Larry Wall escreveu: By the by, I'm also inclined to agree with those who prefer Instant to DateTime on aesthetic grounds. I should note that I'm insisting on DateTime just as the reference p5 module in CPAN, I don't oppose it being called Instant in Perl 6.

Re: r25445 - docs/Perl6/Spec/S32-setting-library

2009-02-20 Thread Larry Wall
On Fri, Feb 20, 2009 at 03:31:03PM -0300, Daniel Ruoso wrote: : Em Sex, 2009-02-20 às 10:17 -0800, Larry Wall escreveu: : By the by, I'm also inclined to agree with those who prefer Instant : to DateTime on aesthetic grounds. : : I should note that I'm insisting on DateTime just as the

Re: r25445 - docs/Perl6/Spec/S32-setting-library

2009-02-20 Thread Daniel Ruoso
Em Sex, 2009-02-20 às 10:53 -0800, Larry Wall escreveu: Perhaps we could just go with Instant and Duration as top-level roles since they're rather fundamental to lots of computing. As builtins they would presumably come with appropriate operators predefined. And as roles they could be

Re: Perl's internal time (was: Re: r25445 - docs/Perl6/Spec/S32-setting-library)

2009-02-20 Thread Larry Wall
On Fri, Feb 20, 2009 at 01:36:12PM -0600, Chris Dolan wrote: : Yes, just as I said: a constant offset between each of the proposed : epochs. But my point remains: from the user's point of view it doesn't : matter which epoch you choose to use behind the scenes, so you might as : well pick the one

Re: Perl's internal time (was: Re: r25445 - docs/Perl6/Spec/S32-setting-library)

2009-02-20 Thread Mark J. Reed
On Fri, Feb 20, 2009 at 2:36 PM, Chris Dolan ch...@chrisdolan.net wrote: Yes, just as I said: a constant offset between each of the proposed epochs. No, because the offset is not constant. The delta between TAI and UTC is currently 34 seconds. Two months ago it was 33 seconds. The next time

r25445 - docs/Perl6/Spec/S32-setting-library

2009-02-19 Thread pugs-commits
Author: autarch Date: 2009-02-19 19:14:48 +0100 (Thu, 19 Feb 2009) New Revision: 25445 Modified: docs/Perl6/Spec/S32-setting-library/Temporal.pod Log: This is a very drastic revision (hopefully this won't turn into a revert war ;) Here's the changes in summary: removed all references to ...

Re: r25445 - docs/Perl6/Spec/S32-setting-library

2009-02-19 Thread Dave Rolsky
On Thu, 19 Feb 2009, Darren Duncan wrote: As per my previous post, I recommend having both, like this: role Instant { has Int $.year; ... has Rat $.second; } role DateTime is Instant where defined $.year ... and defined $.second; role Date is Instant where defined $.year ... and

Re: r25445 - docs/Perl6/Spec/S32-setting-library

2009-02-19 Thread Darren Duncan
Dave Rolsky wrote: On Thu, 19 Feb 2009, Darren Duncan wrote: So something like that. So Date and Time mean all Date|Time details, and DateTime means all details of both. And Instant means any combination of defined or not of said member attributes. And that's actually why I advocated

Re: r25445 - docs/Perl6/Spec/S32-setting-library

2009-02-19 Thread Larry Wall
On Thu, Feb 19, 2009 at 05:05:32PM -0600, Dave Rolsky wrote: On Thu, 19 Feb 2009, Darren Duncan wrote: As per my previous post, I recommend having both, like this: role Instant { has Int $.year; ... has Rat $.second; } role DateTime is Instant where defined $.year ... and

Temporal changes (was: Re: r25445 - docs/Perl6/Spec/S32-setting-library)

2009-02-19 Thread Timothy S. Nelson
On Thu, 19 Feb 2009, pugs-comm...@feather.perl6.nl wrote: Author: autarch Date: 2009-02-19 19:14:48 +0100 (Thu, 19 Feb 2009) New Revision: 25445 Modified: docs/Perl6/Spec/S32-setting-library/Temporal.pod Log: This is a very drastic revision (hopefully this won't turn into a revert war ;)

Perl's internal time (was: Re: r25445 - docs/Perl6/Spec/S32-setting-library)

2009-02-19 Thread Timothy S. Nelson
On Thu, 19 Feb 2009, Larry Wall wrote: Well, leaving that rant aside, I'm still tempted to say that times in Perl 6 are TAI seconds since 2000. Standard TAI would work too. I've wondered sometimes about the idea of having a dual/moving epoch. By this, I mean that you have eg. two Ints, one

Re: Perl's internal time (was: Re: r25445 - docs/Perl6/Spec/S32-setting-library)

2009-02-19 Thread Chris Dolan
On Feb 19, 2009, at 10:17 PM, Timothy S. Nelson wrote: On Thu, 19 Feb 2009, Larry Wall wrote: Well, leaving that rant aside, I'm still tempted to say that times in Perl 6 are TAI seconds since 2000. Standard TAI would work too. I've wondered sometimes about the idea of having a

Re: Perl's internal time (was: Re: r25445 - docs/Perl6/Spec/S32-setting-library)

2009-02-19 Thread Timothy S. Nelson
On Thu, 19 Feb 2009, Chris Dolan wrote: On Feb 19, 2009, at 10:17 PM, Timothy S. Nelson wrote: On Thu, 19 Feb 2009, Larry Wall wrote: Well, leaving that rant aside, I'm still tempted to say that times in Perl 6 are TAI seconds since 2000. Standard TAI would work too. I've wondered

Re: Temporal changes (was: Re: r25445 - docs/Perl6/Spec/S32-setting-library)

2009-02-19 Thread Wayland
On Fri, 20 Feb 2009, Timothy S. Nelson wrote: +role Temporal::DateTime { +has Temporal::Date $!date handles year month day day-of-week; Can't do this, I think; this would require an instance of Temporal::Date, which is a role and can't be instantiated. That's why I was using