It's about time

masak on 2010-04-09T07:49:32

jnthn++ touched upon the subject. I thought I'd do the same. We're rewriting the Temporal spec from scratch. It's not the first time this happens, but for some reasons, this attempt feels better than the previous ones.

Ever since the Web.pm work had its course plotted in more detail — not to mention since the work on GGE — I feel I belong to the "shameless copycat" school of design. More specifically, in many domains not directly related to the Perl 6 core model, our best chance of success is likely not to be oh-so-clever, but to start with something that works well in some other language (big-sister Perl 5, Ruby, Haskell, JavaScript, what-have-you), adapt it to Perl 6 idioms, and ship it. In the case of Temporal, the clear winner was CPAN's DateTime, a subset of which is now in Synopsis 32.

Imitation may be the sincerest form of flattery, but basing your design on something that already works also seems a fairly safe way to make sure that the design you end up with isn't and abstraction-laden heap of wishful thinking.


dashes-in-method-names vs under_scores

nige on 2010-04-10T21:48:01

I personally vote for dashes-in-method-names++ ... easy to read and type.

Re:dashes-in-method-names vs under_scores

masak on 2010-04-14T12:24:44

The waves went high about this on p6l, but eventually dashes emerged as the clear winner. Temporal.pod now has it that way.

PowerShell date fanboy + where's your Amazon ...

thickas on 2010-04-11T02:29:17

Please make it look like the PS model eg

PS C:\> [datetime] | gm -Static

   TypeName: System.DateTime

Name            MemberType Definition
----            ---------- ----------
Compare         Method     static System.Int32 Compare(DateTime t1, DateTime t2)
DaysInMonth     Method     static System.Int32 DaysInMonth(Int32 year, Int32 month)
Equals          Method     static System.Boolean Equals(DateTime t1, DateTime t2), static System.Boolean Equals(Obje...
FromBinary      Method     static System.DateTime FromBinary(Int64 dateData)
FromFileTime    Method     static System.DateTime FromFileTime(Int64 fileTime)
FromFileTimeUtc Method     static System.DateTime FromFileTimeUtc(Int64 fileTime)
FromOADate      Method     static System.DateTime FromOADate(Double d)
IsLeapYear      Method     static System.Boolean IsLeapYear(Int32 year)
Parse           Method     static System.DateTime Parse(String s), static System.DateTime Parse(String s, IFormatPro...
ParseExact      Method     static System.DateTime ParseExact(String s, String format, IFormatProvider provider), sta...
ReferenceEquals Method     static System.Boolean ReferenceEquals(Object objA, Object objB)
SpecifyKind     Method     static System.DateTime SpecifyKind(DateTime value, DateTimeKind kind)
TryParse        Method     static System.Boolean TryParse(String s, DateTime& result), static System.Boolean TryPars...
TryParseExact   Method     static System.Boolean TryParseExact(String s, String format, IFormatProvider provider, Da...
MaxValue        Property   static System.DateTime MaxValue {get;}
MinValue        Property   static System.DateTime MinValue {get;}
Now             Property   System.DateTime Now {get;}
Today           Property   System.DateTime Today {get;}
UtcNow          Property   System.DateTime UtcNow {get;}

PS C:\> [datetime]::Today

Sunday, 11 April 2010 12:00:00 AM

PS C:\> ([datetime]::Now - [datetime] '03/20/2010').Days
22
PS C:\>

I really enjoy reading stuff about P6. Who knows, maybe I can even write bad-babytalk P6 one millenium.

Please create & publish an Amazon wish list so those wannabe P6 Medicis out there can thank you.

Thank you !

Re:PowerShell date fanboy + where's your Amazon ..

masak on 2010-04-11T08:23:04

I think we're already on the road to meeting your requests.

DateTime.today()

(DateTime.now - DateTime.new('2010-03-20T00:00:00')).days

(With moritz++'s proposed Date class, the second example might be even more straightforward. It feels a bit silly to specify 00:00:00 just to be able to use the ISO8601 constructor.)

Please create & publish an Amazon wish list so those wannabe P6 Medicis out there can thank you.

As it happens, I have one already, but more for keeping track of things myself than for people to thank me.

Re:PowerShell date fanboy + where's your Amazon ..

masak on 2010-05-07T19:50:35

Please create & publish an Amazon wish list so those wannabe P6 Medicis out there can thank you.

The book you bought for me arrived today. I just want you to know that not only was the book a pleasant surprise, but the act itself made me giddy with gratitude. Thank you so much! Hoping to find occasion to pay it forward real soon.

Re:PowerShell date fanboy + where's your Amazon ..

thickas on 2010-05-08T04:20:35

'pay it forward', this modern song !

I think you mean, paraphrasing ala P6,

Ya got to do unto others Like you'd have them, like you'd have them, do unto you.

(quite a nice chorus to an old Dylan tune [the music not the language] http://www.mp3lyrics.org/b/bob-dylan/do-right-to-me-baby-do-unto-others/ )