[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: OpenFormula - scope, other info resources?
Here are some thoughts on the scope of "OpenFormula", and a request for comments about its scope and resources. First, scope. At the VERY LEAST, "OpenFormula" should define the format for exchanging spreadsheet formulas as an extension of the OpenDocument specification, based on OOo and Excel's current actions. More is possible. I'd really love to hear some feedback on the following: * It'd be nice if this formula language was also used in draw:formula & anim:formula. I don't think it'd be that hard. But they're currently in a different format in OpenOffice, in particular, they use "," as the function separator not ";". Supporting them requires a few minor additions, i.e., $number as a parameter (unfortunately starting at 0, which I think is a REALLY bad idea because shell and others start at 1), and $ by itself as a variable. Is there interest in trying to unify them? Are small changes to draw:formula and anim:formula okay to do this? * Although I'd like the syntax to be general enough to be extensible later, I'm not working on a truly general mathematical notation that can handle algebraic unknowns, etc, etc. Indeed, people have spreadsheets of important tasks, and we need to make SURE that we don't break their formula semantics, so I think the semantics of this are VERY constrained by the past... else too much breaks. * Most people SEE formulas on the screen, and type them in... should the HUMAN-READABLE format be specified? I suspect the answer really should be "yes", or at least that they should suggest a format, so that people can type in formulas and have a reasonable expectation that they'd work. * Should formulas, as exchanged, use the same or more similar syntax to how they're entered on the screen? For example, the current OOo uses square brackets around cell references, e.g., "[.A1]" is represented on-screen as "A1". Frankly, I think there are lots of advantages to having the data format "as close as possible" to the entered format... "identical" being the ideal. A spreadsheet program has to parse human input anyway, and if the format is the same, then you only need to write that code once, and debugging it's simpler too. * For the moment, I think it'd be wiser to declare setting display formats based on formula contents as out-of-scope. Most spreadsheet programs set the default display format based on the operations in the formula and the formats of their inputs (e.g., putting in the formula =A1+A2 to a blank cell will change the format to "currency" if A1 and A2 are formatted as currency). But there doesn't seem to be lots of consistency on this point; Excel on the Mac, Excel 2002, and Excel 2000 all seem to have different heuristics on setting the display format. I've been hunting everywhere for existing info resources. There's little available, though there are LOTS of books on how to point-and-click SUM()s. Can anyone point me to other USEFUL materials about the exact semantics of Excel or OOo? The best materials I've found are: * "Excel 2000 in a Nutshell", O'Reilly. The only book with REAL content about formula +-semantics. I've looked at about 20 books about Excel, and most of the other books are a waste of time for this purpose. Not even "Excel Formulas and Functions for Dummies" holds a candle to this, even though it focuses only on formulas. * http://sc.openoffice.org/ and in particular "OpenOffice.org's Documentation of the Microsoft Excel File Format" is an absolute delight for real, meaty technical details. It's also scary; it's unbelievable that so many people use spreadsheets for exchanging information, even though there's no official spec and the Excel spreadsheet format (as documented here) is INCREDIBLY fragile. The formulas are stored in RPN, and the functions are just id'd by number. Getting data & in out of Excel, or dealing with corrupted data, is a true nightmare. I'll be SO glad to use OpenDocument instead after delving into this thing, this format is HORRENDOUS as an exchange format. * Ximian has a nice LXR setup that lets you easily surf the OpenOffice.org spreadsheet source code: http://ooo.ximian.com/lxr/source/sc/ Of particular interest is OO.o's formula compiler code: http://ooo.ximian.com/lxr/source/sc/sc/source/core/tool/compiler.cxx I haven't read it in depth yet, but it looks like a good place to look. --- David A. Wheeler
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]