
On 4/24/07, Tony Morris
In a debate I proposed "Excel is a functional language". It was refuted and I'd like to know what some of you clever Haskellers might think :)
My opposition proposed (after some "weeding out") that there is a distinction between Excel, the application, the GUI and Excel, the language (which we eventually agreed (I think) manifested itself as a .xls file). Similarly, VB is both a language and a development environment and referring to VB is a potential ambiguity. I disagree with this analogy on the grounds that the very definition of Excel (proposed by Microsoft) makes no distinction. Further, it is impossible to draw a boundary around one and not the other.
I also pointed to the paper by Simon Peyton-Jones titled, "Improving the world's most popular functional language: user-defined functions in Excel", which quite clearly refers to Excel as a [popular] functional language.
The debate started when I referred to the fact that financial institutions change their functional language from Excel to something like OCaml or Haskell. Of course, there is no doubting that these companies can replace their entire use of Excel with a functional language, which I think is almost enough to fully support my position (emphasis on "almost").
-- Tony Morris http://tmorris.net/
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Okay.. Excel consists of some c/c++ code, some visual basic, and some sort of cell evaluation engine. The c/c++ and vb are definitely not functional. Is the cell evaluation engine one? I think not. I do not believe what you can type into those cells does constitute a programming language, or at least not a turing complete one. As far as i know only simple calculations can be performed. For example, is there any way to evaluate f(2) = 0, f(x) = 5 without invoking vba (how does vba affect the dynamic?). As far as i understand you can compose functions by stringing cells together, higher level functions or values, but the contents of the cells themselves are heavily restricted. I am obviously no Excel guru but I believe that if you can prove it a programming language then you can probably prove that it is a functional one. --ryan