“标准化”是什么意思,为什么Haskell呢?

时间:2013-01-31 14:41:15

标签: haskell standards

维基百科claims认为Haskell是“标准化的”,但Haskell标准尚未得到ISO等国际公认标准机构的批准;甚至不是像BSI或ANSI这样的国家机构。

那么编程语言被标记为“标准化”的标准究竟是什么?它只需要a specification published on a website somewhere吗?

1 个答案:

答案 0 :(得分:6)

你已经回答了自己的问题。标准化语言是由某些规范定义的语言,无论是文档还是本身标准化和形式化的语言(如SML)中的“参考实现”。哪个机构承认或批准该标准并不是真正的问题。

这与实现定义的语言(例如Perl或PHP)相反,语言所做的只是由语言的某些特定“旗舰”实现所定义。

所以我们可以说某个C编译器实际上没有正确编译C,因为它不符合标准。同时,我们不能说CPython没有正确解释Python,因为根据定义,它所做的 Python所做的事情。

Haskell由Haskell报告定义,其最新版本是Haskell 2010:http://www.haskell.org/onlinereport/haskell2010/

本报告由一个委员会制定,投票并批准。此外,历史上已经存在多个Haskell编译器和解释器,这些编译器和解释器要么符合报告,要么几乎符合报告,并有文档化的例外。

编写到标准的代码应该可以在编译器之间移植,并且当编译器和报告(除了“预期的”)之间发现差异时,通常编译器或报告将被更改为符合。< / p>

相关问题