[Haskell-cafe] Is Excel a FP language?

Ryan Dickie goalieca at gmail.com
Wed Apr 25 04:34:43 EDT 2007

On 4/24/07, Tony Morris <tmorris at tmorris.net> wrote:
> 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 at 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

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.haskell.org/pipermail/haskell-cafe/attachments/20070425/08f0857b/attachment.htm

More information about the Haskell-Cafe mailing list