
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/

Tony Morris wrote:
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).
I say Excel is a functional language. If there needs to be the quoted distinction, fine: Excel the language is a functional language, and Excel the application is an interpreter of said language. (Does the opposition self-consistently distinguish Perl the language from perl.exe the interpreter?)

Albert Y. C. Lai wrote:
I say Excel is a functional language. If there needs to be the quoted distinction, fine: Excel the language is a functional language, and Excel the application is an interpreter of said language.
Excel has functions, but does it treat functions as it treats other data? I don't think so, and that makes it non-functional (dys-functional?). As for VB... that may be functional, in the same sense as XSLT is: if you step back and squint, it almost looks vaguely like a functional language.
(Does the opposition self-consistently distinguish Perl the language from perl.exe the interpreter?)
"Only perl can parse Perl." (Yes, they do.) -Udo -- "Science is like sex - sometimes something useful comes out of it, but that's not what we are doing it for." -- Richard Feynman

On 25/04/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 :)
By coincidence I wrote about Excel (and related spreadsheets) as functional languages just recently [1]. It was prompted by an article in the BMJ where a spreadsheet cell was accidentally overwritten by patient data, meaning a small child was given their weight as a drug quantity, rather than the quantity being calculated from their weight. [1]: http://brokenhut.livejournal.com/233310.html Cheers, D.

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

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 Sure. Should not be hard using 5 - 5 * (1-abs(sign(2-x))) I admit that I didn't test it using Excel but oocalc. Or is this VBA? You are right. I get your intention ;)
Marc

How about 'IF(x=2,0,5)' ? On Apr 25, 2007, at 13:48 , Marc Weber wrote:
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 Sure. Should not be hard using 5 - 5 * (1-abs(sign(2-x))) I admit that I didn't test it using Excel but oocalc. Or is this VBA? You are right. I get your intention ;)
Marc _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

andrewcoppin:
I just had a thought... Why doesn't somebody implement a spreadsheet where Haskell is the formula language? 8-) I have already been struggling (unsuccessfully) to write a program to graph functions, but why not go the whole hog and make an entire spreadsheet program? Possibly one of the most depressing things about Haskell is that there isn't one single large application anywhere that you can point to and say "this was made with Haskell". Maybe this could be that app?
pugs? darcs? ghc? xmonad? (ok, not big) Lots on haskell.org to point to. pick your favourite one :-) -- Don

On 05/05/07, Andrew Coppin
I just had a thought... Why doesn't somebody implement a spreadsheet where Haskell is the formula language? 8-)
http://sigfpe.blogspot.com/2006/11/from-l-theorem-to-spreadsheet.html may interest. -- -David House, dmhouse@gmail.com

I just had a thought... Why doesn't somebody implement a spreadsheet where Haskell is the formula language? 8-)
http://sigfpe.blogspot.com/2006/11/from-l-theorem-to-spreadsheet.html may interest.
...ok, and now my head hurts... (Haskell seems to do that lots. I'm not sure why.)

I just had a thought... Why doesn't somebody implement a spreadsheet where Haskell is the formula language? 8-)
http://sigfpe.blogspot.com/2006/11/from-l-theorem-to-spreadsheet.html may interest.
...ok, and now my head hurts...
(Haskell seems to do that lots. I'm not sure why.)
Well, check out http://www.mrtc.mdh.se/index.php?choice=projects&id=0041 This might ease the headache a little. It is basically the result of a MSc thesis project that a student did for me a couple of years ago. Björn Lisper PS. Also check out http://www.cs.kent.ac.uk/projects/vital/

The pivotal project: http://www.cs.kent.ac.uk/projects/pivotal/ is more or less what you are referring to (ie an interactive environment where haskell is the evaluation language), though it doesn't have the exact GUI of a spreadsheet. Tim ________________________________ From: haskell-cafe-bounces@haskell.org [mailto:haskell-cafe-bounces@haskell.org] On Behalf Of Andrew Coppin Sent: Saturday, 5 May 2007 9:43 PM To: haskell-cafe@haskell.org Subject: Re: [Haskell-cafe] Is Excel a FP language? I just had a thought... Why doesn't somebody implement a spreadsheet where Haskell is the formula language? 8-) I have already been struggling (unsuccessfully) to write a program to graph functions, but why not go the whole hog and make an entire spreadsheet program? Possibly one of the most depressing things about Haskell is that there isn't one single large application anywhere that you can point to and say "this was made with Haskell". Maybe this could be that app?

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.
without commenting on excel, i believe this separation of development environment and language is outdated. development environments are no good unless they are intimately aware of the language and language designers should keep development environments in mind. language designs get too complicated if they try to cover issues that are better handled in the development environment, and such environments are much easier to create for languages supportive of such efforts. recent trends in semantics-aware ides highlight one side of the association, and of course, there are the ancient lisp and smalltalk, where the languages not only ease tool development, but trying to understand smalltalk as a notation only, rather than an image-based language/environment, is really missing half the point. claus

Hi Tony,
I think Lennart said it best with "Excel is a zero-order functional
language" - a functional language in which you can't define functions.
Another way of putting that is that it is a functional language, but a
really bad one (from a functional'ness perspective).
Thanks
Neil
On 4/25/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

I usually refer to Excel as a zeroth order functional language, i.e., you can't define any functions. :) (You can define functions if you do it in VBA or in an addin, but that's not really Excel, imo.) -- Lennart On Apr 25, 2007, at 04:00 , Tony Morris 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@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
participants (14)
-
Albert Y. C. Lai
-
Andrew Coppin
-
Bjorn Lisper
-
Claus Reinke
-
David House
-
dons@cse.unsw.edu.au
-
Dougal Stanton
-
Lennart Augustsson
-
Marc Weber
-
Neil Mitchell
-
Ryan Dickie
-
Tim Docker
-
Tony Morris
-
Udo Stenzel