-1

我正在编写一个程序Mathematica它依靠模式匹配来执行工资核算和付款验证的保证。问题的关键是比较不同的数据文件(包括CSV和XLS)以确保它们包含完全相同的信息,因为工资由两个不同的第三方处理。模式匹配的替代语言

我对的使用Mathematica使程序的开发变得非常流畅和有趣,但是在分发级别上令人望而却步。 CDF格式不是一种选择,因为该程序要求用户导入数据文件,这是WRI在CDF中不允许的。

这个任务的理想编程语言将使我能够将它打包为OS X,Linux或Windows的独立版本,并且能够进行模式匹配。还需要支持GUI(原始的或广泛的)。

我想到Python来翻译我的程序,但我不确定这是否是一个好的选择。

你有什么建议?


我唯一的模式匹配的理解是that其中数学documentation教我。

数学完美处理任务的一个例子是:

导入XLS文件,排序的时间和名称的数据,提取特定的日期和名称。导入CSV文件,按日期和名称对数据进行排序,提取某些日期和名称。

将两者比较,产生一个很好的格式化输出,其中包含所需(缺失)的信息。

浏览数据Mathematica也非常简单直观。

+0

如果通过模式匹配你的意思是正则表达式,Perl的用正则表达式记 – SJuan76 2012-07-11 18:18:33

+0

dessigned序言,二郎神有非常强大的模式在他们匹配,他们是独立的平台。也有很多公司使用Prolog来描述你正在描述的确切问题,它非常精确,因为它证明了这个解决方案的一贯性。 – sean 2012-07-11 18:19:41

+1

更具体。什么样的“模式匹配”? – Junuxx 2012-07-11 18:26:30

回答

3

考虑Haskell这似乎有你想要的所有功能,并且是跨平台的。

1

如果您想要使用更具标准功能的电子表格功能,除非我误解了这个问题,否则我会建议使用简单的Java与Apache POI库,专门用于制作可怕的电子表格格式。另外,它比Haskell要快得多,尽管我想如果你已经知道Mathematica,那么转向另一种数学上倾向的语言并不是那么糟糕。

1

Prolog是一种逻辑编程语言,因为它实际上是基于您给出的事实做出证明。因此,您是否向其提供了有关warrenty或payroll信息的合理事实,它将能够证明它们中的任何一个是通过尝试找到等式两边都取消的基本情况。还有更多,但我现在在手机上。

对于您的情况,您将能够以更易于编程的语言阅读数据并验证您在Prolog中的参数,只要您的Prolog事实正确,它将能够快速验证您的数据是否有效。它可以被认为是具有更多功能的类固醇的正则表达式。

http://www.amzi.com/articles/lsapi_design.htm