To comment on the following update, log in, then open the issue:
http://www.openoffice.org/issues/show_bug.cgi?id=79924
                 Issue #|79924
                 Summary|Strong Typing in Formulas
               Component|Spreadsheet
                 Version|OOo 2.2.1
                Platform|All
                     URL|
              OS/Version|All
                  Status|UNCONFIRMED
       Status whiteboard|
                Keywords|
              Resolution|
              Issue type|FEATURE
                Priority|P2
            Subcomponent|code
             Assigned to|spreadsheet
             Reported by|discoleo





------- Additional comments from [EMAIL PROTECTED] Mon Jul 23 18:23:45 +0000 
2007 -------
*This is a killer feature*!


= *INTRO* =

Every decent programing language implements a typing mechanism of variables to
reduce the rate of errors.

One advantage of C++ over C was exactly the stronger typing mechanism (in
addition to namespaces; classes and templates contributed strongly to the more
robust typing). However, spreadsheets have failed to introduce typing, although
a great number of errors could be prevented IF such a mechanism was built in.

I consider this a *major design flaw* of existing spreadsheet applications, and
one that makes it in my personal *TOP 5* of fundamental design flaws.

I estimate (blindly) that almost one third of significant spreadsheet errors
could be prevented by such a mechanism. Please note, that I have a vast
experience in working with spreadsheets, overseeing 100+ employees that work
extensively with spreadsheets.

This issue has been partially discussed on the OASIS mailing list (see
http://lists.oasis-open.org/archives/office-comment/200706/msg00005.html and the
ensuing discussion). Though the aforementioned thread discussed units on a more
broader scale, I wish to focus here entirely on currency.


= *CURRENCY* =

Calc should implement a strong typing system. In a first phase, I advocate
implementing a general typing system for currency (a generic currency type),
later extending it to further units (probably 'time-units' being next and
followed by other units).

= *OPERATIONS* =

Valid operations with this unit:
1. (currency) + (currency) => (currency)
2. (currency) * scalar => (currency)
3. (currency) / scalar => (currency)
4. (currency) / (currency) => scalar

Invalid operations:
1. (currency) + scalar !!! (many errors)
2. (currency) * (currency) (see statistics comment; maybe allowing this
operation, BUT IF the cell formatting has UNIT<currency>, raise an ERROR)
3. (currency)^(x), where x != 1
[statistics should be possible to compute with currencies, although that would
involve terms of form (currency)^2; this should be solved somehow]

= *FURTHER DEVELOPMENT* =

Various subtypes of currency should be possible to create in later versions of
the implementation, e.g.
1. Euro as type <currency>
2. US$ as type <currency>
3. various other currencies (custom currencies)

Still later, there should exist the possibility to define conversions between
these currencies subtypes. There would be 2 types of conversions:

1. fixed:
 - defined once and stored with the document, e.g. 1 Euro = US$ 1.33
 - every conversion between Euro and US$ would be accomplished using
   this explicit conversion factor

2. dynamic:
 - allow the conversion factor to be retrieved dynamically from
   a web-site, server, some other place, ...
 - conversions are done dynamically, either at:
   -- opening the document
   -- some pre-specified time point
   -- x-times per day
   -- some other condition
[This would be especially interesting for international enterprises and the
financial market.]


= *ADVANTAGES* =

 - many spreadsheet ERRORS would be timely prevented
  (many at design time)
 - significant financial losses averted
 - a clear advantage over competing products
 - would set the standard in the field, not merely copying MS Excel

---------------------------------------------------------------------
Please do not reply to this automatically generated notification from
Issue Tracker. Please log onto the website and enter your comments.
http://qa.openoffice.org/issue_handling/project_issues.html#notification

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to