OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

office-formula message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: Functions that need to be identified as TBD


Earlier on I created blank headers for functions that weren't defined,
but needed to be.

But there are a few cases where I wasn't sure if new functions needed to
be added, and if so, what their names needed to be.  At this point,
I believe we NEED to add headings for ALL functions.  We can actually
change the names of functions fairly easily, but documenting a function
you don't know you need is harder :-).

The real problem will be on AGREEING what those new names should be.
I'd really like to hear what they should be... but let's first make sure the
draft spec documents WHAT should be (possibly) added, or otherwise
we'll lose the idea entirely.

First, there are the "_ADD" functions of OpenOffice.org; "_ADD" is a weird
marker that OOo adds, saying "these are functions with Excel-compatible
semantics that are DIFFERENT than the semantics of my functions without _ADD".
In OOo, they are as follows:
CONVERT_ADD
CUMIPMT_ADD
CUMPRINC_ADD
DURATION_ADD
EFFECT_ADD
ERRORTYPE
GCD_ADD
ISEVEN_ADD
ISODD_ADD
LCM_ADD
NOMINAL_ADD
WEEKNUM_ADD
For example, in OOo, WEEKNUM_ADD uses Excel's nonstandard week numbering
system, while in OOo's display format, WEEKNUM uses ISO standard week numbering.

Also, as an illustration that things don't stand still, KOffice had earlier implemented
an "EASTERSUNDAY(year)" function. OOo now sports a compatible one.
This function may be a challenge. On the one hand, if you need it you REALLY need
it (it's very difficult to do without if you need it).
On the other hand, it's obviously related to
a religious date (and to a particular group's definition - Roman Catholics and
Protestants would find it useful directly, but Orthodox Christians
would expect a different value).  Many may be more comfortable if we find
a way to incorporate many important dates (of many religions/cultures), yet
we don't want to create a new nonstandard mechanism for doing so.
We may want to punt on this one for now; comments?

Consider adding EUROCONVERT (and compare to OOo's CONVERT).
The Euro is here (surprise!), but it's still useful for long-term financial
instruments. But I just need to know if there's enough reason to
include it in the spec itself.

We've "stolen" Gnumeric's bit operations, but they do not have
BITNOT(x;bits) or BITNEGATION(x;bits) (two's complement) functions.
These functions CAN be implemented using BITXOR, though with a little pain.
Anyone want to pitch for additional functions directly?


Here's what I propose, as a starting point:
* Use "WEEKNUM" for the Excel semantics function, and add a function
   "ISOWEEKNUM" for the ISO semantics.  Both KSpread and Gnumeric already
   use "ISOWEEKNUM" as the name of the ISO-implementing function.
   Implementations can tell the difference, btw - if a formula starts with "oooc:"
   it could map functions differently than if "=" is the beginning value).
* OOo's "ERRORTYPE" produces values that really only make sense to OOo, so
   I propose that it NOT be in the spec - OOo can save it as ORG.OPENOFFICE.ERRORTYPE.
   The function "ERROR.TYPE()" would stay in the standard and be the portable
   way to query (ERROR.TYPE maps the Error into a short list of integers - but
   there's no requirement that the list of Errors ACTUALLY be that list).
* For CONVERT_ADD, CUMIPMT_ADD, CUMPRINC_ADD, DURATION_ADD,
   EFFECT_ADD, NOMINAL_ADD, GCD_ADD, ISEVEN_ADD, ISODD_ADD, LCM_ADD:
   define functions without the "_ADD" with Excel semantics, and have "_OOO"
   functions with the OOo semantics, e.g., "DURATION" vs. "DURATION_OOO".
   The "_OOO" naming convention is lousy; it's more
   of a placeholder so that we can differentiate the functions.  Suggestions?
   Many of these (GCD_ADD, ISEVEN_ADD, ISODD_ADD, LCM_ADD) are trivially
   different - should these be implementation-defined (and NOT separate functions)?
   Should these just be application-specific functions when exchanged?
   We need to compare CONVERT_OOO and EUROCONVERT as well.
* Consider adding EUROCONVERT (and compare to CONVERT_OOO).
   Obviously it's still useful for long-term financial instruments, so I just need to know
   if there's enough reason to include it in the spec itself.
* No "EASTERSUNDAY" in the spec; use ORG.KOFFICE.EASTERSUNDAY() if you have it.
   If there's a follow-on effort (there probably should be), revisit this.
* For all functions added per above, place them in the "Large" group.

--- David A. Wheeler 


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]