2009-12-23 54 views
14

我想知道是否存在使用现有函数式编程语言来定义函数的电子表格应用程序。使用函数式编程语言的电子表格

我已经听说过使用python的Resolver One,但我更喜欢使用像Haskell这样的纯功能语言的任何东西。

感谢

+0

太异乎寻常了......你为什么要这样? Excel就像一个坏的,沉重的,单线程的GUI库,有许多漏洞试图做自己的事情。我认为Haskell不够实用,没有足够的GUI库... – 2009-12-23 18:27:15

+2

@ipthnc他对Excel有什么看法? – phoebus 2009-12-23 18:31:09

+1

祝您找到一款使用纯语言的好运气。目前只有少数人存在,Lisp和ML家族中不纯的功能语言更受欢迎。当然,Python并不是一种功能性语言 - 它是一种命令式的面向对象语言,它恰好具有一流的功能。 – Chuck 2009-12-23 18:47:48

回答

12

电子表格在功能程序员中是相当流行的应用程序。他们多年来一直是论文中反复出现的主题。一些更令人难忘的论文包括

你也可以阅读有关an effort to make Excel more functional

对于这些论文中的每一篇,我都读过论文或者听过基于论文的讨论。没有一篇文章很棒,但都很好。我认为最有趣的想法是Sestoft —,他的实验结果相当惊人。

2
+0

我怀疑Javascript是功能最强大的语言,你会发现。另请注意,有Haskell和OCaml到Javascript的编译器。 – Chuck 2009-12-23 18:46:03

+0

Haskell不是“功能最强大的语言”吗? – mipadi 2009-12-29 05:51:22

+0

@mipadi:这不是说Haskell不起作用;这是我不希望找到一个真正的电子表格应用程序,它使用Haskell来定义函数。 – Chuck 2009-12-30 15:32:59

2

有计划在网格(http://siag.nu/siag/),但它看起来有种不合时宜的。

还有Haxcel(http://www.mrtc.mdh.se/projects/Haxcel/),这是一个论文项目。

如果您想在电子表格中进行函数式编程,最好的选择可能是Resolver One,正如您已经注意到的那样。 (我会说在这个上下文中的“函数式编程”意味着可以与其他电子表格函数和工作表本身一起工作的一流函数 - 也就是说,您可以编写一个返回函数的函数,调用它并将结果存入单元格中以供尚未其他单元呼叫等我不知道是否OpenOffice和谷歌文档会这样做。)

一位同事和我一直在一个小项目,在Excel中使用一个非常接近Excel的语法公式。我在评论简要描述它罗伊麦克林的VBA博客:

http://roymacleanvba.wordpress.com/2009/08/04/domain-specific-languages-%e2%80%93-part-2/#comment-130

它改变了一些,因为我张贴,但如果你想打电话给我们非常-最小语法的“语言”,它肯定是“纯”。 (并且我仍然计划将它发布到广泛的FP实现的VBA爱好者,但是一些东西一直在提供......)