Draft for review: ISO 8601 date work on IS 29500
Chris Rae
Chris.Rae at microsoft.com
Mon Jul 26 22:54:30 CEST 2010
I just spoke to Gareth about this, to make sure I wasn't off on my own here. We may be against the use of "may" in this instance.
It's impossible to understand what =TODAY()+1 is from the standard unless you know that dates are serial values. The only way you could evaluate a formula containing a date without using serial values would be if you read the spec, understood how serial values worked, and then implemented the right operator overloads on your custom date types to mimic that behaviour. This way you'd be emulating serial value behaviour without actually using serial values in your runtime. You may, of course, fail to make =TODAY()/2 work properly but if you don't need that functionality it's not necessary to implement everything to be compliant.
I'd argue that it would be very hard to fully interoperate in formulas with any other spreadsheet application without using serial values, so we'd be steering people towards the wrong course by using "may" here. Unless you know in advance what sort of date formulas you're going to see, you really ought to implement serial values.
Could we say "When used in formulas, dates and times behave as though they were serial date values"? It seems like that would steer people towards using serial values, but not mandate it for conformance.
Chris
-----Original Message-----
From: Jesper Lund Stocholm [mailto:jesper.stocholm at ciber.dk]
Sent: 25 July 2010 22:27
To: Chris Rae; rjelliffe at allette.com.au; e-sc34-wg4 at ecma-international.org
Subject: RE: Draft for review: ISO 8601 date work on IS 29500
Hi all,
> -----Original Message-----
> From: Chris Rae [mailto:Chris.Rae at microsoft.com]
> Sent: Friday, July 23, 2010 11:28 PM
> To: Jesper Lund Stocholm; rjelliffe at allette.com.au; e-sc34-wg4 at ecma-
> international.org
> Subject: RE: Draft for review: ISO 8601 date work on IS 29500
>
> Hi guys - I do feel quite strongly about this, partly because I think
> there's been confusion in IS 29500 before regarding formulas and
> functions. Any operator in a formula is effectively a function. In
your
> example you mention that you would not convert C2 and C1 to numbers
> when parsing - however, if you do not convert them to serials, there's
> nowhere in IS 29500 that specifies that the answer should be 1
(there's
> no runtime date type, and as such there's no description of how to use
> it).
>
> As soon as we start heading down the route of having C1+C2 treated
> differently to SUM(C1,C2), I think we're doing badness.
I do think there is a (subtle) difference between an operator and a function, but I don't think we should split hairs on this - it is certainly not my area of expertise. My main point with my original suggestion was to get the word "may" into the text.
:o)
Med venlig hilsen / Best regards
Jesper Lund Stocholm
CIBER Danmark A/S
Mobil: +45 3094 5570
Email: jesper.stocholm at ciber.dk
More information about the sc34wg4
mailing list