【发布时间】:2013-02-01 07:30:53
【问题描述】:
我的背景是计算机科学,专门从事命令式编程(C/C++、Python)。由于我目前正在努力为论文的某些算法提出正式的描述,因此我想知道是否有一种函数式编程语言可以提供尽可能接近数学符号的语法;例如,类似于 Event-B 提供的功能(请参阅http://i.stack.imgur.com/JaXu0.png 的屏幕截图),但没有 Event-B 的开销(状态机等)。
我的用例很简单:我希望能够想出一个类似的公式
并以尽可能接近的语法将其输入到编程语言中,以使用不同的输入对其进行评估,并检查它是否真的符合我的预期。因此,性能或可重用性对我来说不是问题。
我确实意识到我可以在任何编程语言(例如 Python)中实现这些函数,但这再次要求我在将它们翻译成该语言时解释它们,我很可能会犯我已经犯过的相同的解释错误当想出原始公式时。
【问题讨论】:
-
def initial_plus(r): return set([initial(r)]).union(*[initial_plus(r2) for r2 in regions(initial(r))])在 Python 中与数学公式不够接近? -
@MvG:理论上它足够接近,但由于我的背景是 CS 而不是数学,我担心使用 Python 我可能会错过 Python(可能是我的)和“传统”之间的细微差别数学语义。
-
因此,您不仅需要一种 允许 语法的 language,还需要一个 library (这可能与语言一起提供)支持这样的语法。从您的问题来看,这并不明显,因此您可以更明确地说明这一点。也就是说,我怀疑是否存在与数学符号没有细微差别的任何语言。该陈述本身包括数学符号,因为其中很多取决于上下文。
标签: math functional-programming