On 4/24/07, <b class="gmail_sendername">Tony Morris</b> &lt;<a href="mailto:tmorris@tmorris.net">tmorris@tmorris.net</a>&gt; wrote:<div><span class="gmail_quote"></span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
In a debate I proposed &quot;Excel is a functional language&quot;. It was refuted<br>and I&#39;d like to know what some of you clever Haskellers might think :)<br><br>My opposition proposed (after some &quot;weeding out&quot;) that there is a
<br>distinction between Excel, the application, the GUI and Excel, the<br>language (which we eventually agreed (I think) manifested itself as a<br>.xls file). Similarly, VB is both a language and a development<br>environment and referring to VB is a potential ambiguity. I disagree
<br>with this analogy on the grounds that the very definition of Excel<br>(proposed by Microsoft) makes no distinction. Further, it is impossible<br>to draw a boundary around one and not the other.<br><br>I also pointed to the paper by Simon Peyton-Jones titled, &quot;Improving the
<br>world&#39;s most popular functional language: user-defined functions in<br>Excel&quot;, which quite clearly refers to Excel as a [popular] functional<br>language.<br><br>The debate started when I referred to the fact that financial
<br>institutions change their functional language from Excel to something<br>like OCaml or Haskell. Of course, there is no doubting that these<br>companies can replace their entire use of Excel with a functional<br>language, which I think is almost enough to fully support my position
<br>(emphasis on &quot;almost&quot;).<br><br><br>--<br>Tony Morris<br><a href="http://tmorris.net/">http://tmorris.net/</a><br><br>_______________________________________________<br>Haskell-Cafe mailing list<br><a href="mailto:Haskell-Cafe@haskell.org">
Haskell-Cafe@haskell.org</a><br><a href="http://www.haskell.org/mailman/listinfo/haskell-cafe">http://www.haskell.org/mailman/listinfo/haskell-cafe</a><br></blockquote></div><br><br>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. <br>
<br>
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. 
<br><br>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. <br><br>--ryan<br>