Excel is not a functional langauge: Got it!

I recently received some attention to a piece I wrote a while back about closures. Basically, folks reacted to my linkage between functional languages and Excel. Being that this site bills itself as a loudspeaker for an Enterprise Architect, I received some particular criticism around my “right” to make such a link. While I don’t claim to be an expert in functional languages, I do not believe I’m alone in my correlation. Some very smart people have also asked the same question: Is a spreadsheet a functional language, or at least a platform for a functional language?

  • http://research.microsoft.com/~simonpj/Papers/excel/index.htm
  • http://lists.canonical.org/pipermail/kragen-tol/2002-May/000713.html
  • http://citeseer.ist.psu.edu/lisper02haxcel.html

So perhaps Excel is not a functional language outright, but its awfully close. The folks at the Haskall Cafe even considered it in this thread. Bjorn Lisper comment sums it up nicely:

Yes, every cell in isolation contains an expression possibly with free variables, and so can be seen as a function in those variables. But these variables are not unbound since they are defined elsewhere in the spreadsheet. Thus, the sheet is rather a system of equations defining values, not functions. I think 0:th order is a good term
:-)

Making a spreadsheet more intelligent is not beyond the realms of research or practices. The following applications attempt to bridge the gap.

  • http://siag.nu/siag/
  • http://www.mrtc.mdh.se/projects/Haxcel/

They’re definitely not going to eat into Excel’s revenue stream, but they do provide a higher order functional programming language on top of the spreadsheet metaphor.

Finally, I think Bulat Ziganshin sums it up nicely.

> Heard that statement recently — that Excel is a functional
> programming language, and the most used one — of any programming
> languages — on Earth! Is it true?

that’s true and breaks any words that FP thinking is “unnatural” for peoples :)

what matters here is that in Excel you *don’t* define calculation order which makes it a functional rather than imperative approach to computations

If, as an enterprise architect, I needed to make the case for functional languages, I can point to Excel. Business people know how powerful Excel is to their bottom line. Technical folks could ignore the semantics of such a correlation and focus on the end result: using a platform that will deliver the needs of the business quickly and accurately.

2 Responses to “Excel is not a functional langauge: Got it!”

  1. Hani Al-Hasheeman Says:

    Dear sir, I would like to subscribe to your enterprise architect newsletter.

  2. Out of Rhythm » Says:

    [...] you did, Improv forced you to think first. Which reminds me that millions of people program in a functional manner, they just don’t know it. Anyway it doesn’t help that a lot of writing about functional [...]

Leave a Reply