具有类似数学语法的函数式编程

时间:2013-02-01 07:30:53

标签: math functional-programming

我的背景是计算机科学,专门用于命令式编程(C / C ++,Python)。由于我目前正在努力为一篇论文的某些算法提出正式的描述,我想知道是否有一种函数式编程语言提供尽可能接近数学符号的语法;例如,类似于Event-B提供的内容(请参阅http://i.stack.imgur.com/JaXu0.png获取屏幕截图),但没有开销(状态机等)事件-B有。

我的用例很简单:我希望能够提出像

这样的公式

formula

并使用尽可能接近的语法将其输入到编程语言中,以使用不同的输入对其进行评估,并检查它是否真的符合我的预期。因此,性能或可重用性对我来说不是问题。

我确实意识到我可以用任何编程语言(如Python)实现这些功能,但这又要求我在将它们翻译成那种语言时解释它们,在那里我很可能会犯同样的解释错误。在提出原始配方时。

2 个答案:

答案 0 :(得分:2)

没有使用2D语法的主流语言(例如,联合操作下的子集操作)。

然而,有许多语言使用unicode运算符,例如Haskell

答案 1 :(得分:2)

Maple允许使用通常的数学2D语法,进行符号操作,并允许将结果转换为C或FORTRAN。对于规范包含一些复杂数学的任务的开发工具,这种能力也不错。

Matlab允许使用2D语法以图形方式编程,但与Maple不同,它会锁定环境中的所有内容,因此更像是一个研究人员工具。