On Thu, Feb 21, 2013 at 9:48 PM, Andrew Douglas Pitonyak
<and...@pitonyak.org> wrote:
>
> On 02/21/2013 09:20 PM, Rob Weir wrote:
>>
>> On Thu, Feb 21, 2013 at 9:12 PM, Andrew Douglas Pitonyak
>> <and...@pitonyak.org> wrote:
>>>
>>> During the long painful discussion of 0^0, there was mention of creating
>>> a
>>> compatibility function for POWER(x,y) to match the behavior in Excel. My
>>> understanding of how this would work is as follows.
>>>
>>> 1. Create another function such as POWER.OTHER(x,y) that behaves as
>>> desired.
>>> 2. When an Excel file is read, every instance of POWER is replaced with
>>> POWER.OTHER.
>>> 3. When an Excel file is written, every instance of POWER.OTHER is
>>> converted
>>> back to POWER.
>>>
>> A simpler solution, if you already know that you are reading an Excel
>> file, is to keep the function name, but change the behavior to mimic
>> what Excel does.   So a compatibility mode rather than a different
>> function.  If we do that, then that would eliminate most of the
>> complexities that you mention below.
>>
>> -Rob
>
> There are certainly many nice things that go along with this idea; for
> example, you can set a configuration option to behave as some product, and
> then simply modify each affected function to slightly modify the behavior.
> This allows anyone to mimic the behavior at will. This is also a much larger
> change.
>
> My question was prompted by a comment made on the larger thread that
> proposed this as a workable solution. If memory serves me correctly, Libre
> has implemented a few alternate functions, but I do not remember the
> context.
>

Microsoft Excel 2013 has done something like this as well.  For
example, they have a CEILING() function (which they've had for a long
time) as well as a new ISO.CELING() function that matches the behavior
defined in the OOXML specification. (There is a crazy story for why
these differ, but it would take too long to explain.  Let's just say
it was a long week in Geneva, and stuff happened)

If you are familiar with Microsoft API's you see this matches their
general perspective.  They try not to change an API, but if a change
is needed they tend to give it a new name.

-Rob

>
> --
> Andrew Pitonyak
> My Macro Document: http://www.pitonyak.org/AndrewMacro.odt
> Info:  http://www.pitonyak.org/oo.php
>

Reply via email to