维基百科claims说哈斯克尔是“标准化的”,但是哈斯克尔标准没有得到国际标准化组织等国际公认的标准机构的认可,甚至没有得到英国国际标准协会或美国国家标准协会等国家标准机构的认可。
那么,编程语言被贴上“标准化”标签的标准到底是什么呢?它是否只需要有a specification published on a website somewhere
发布于 2013-02-01 04:47:35
你已经回答了你自己的问题。标准化语言是由某种规范定义的语言,可以是文档,也可以是本身标准化和形式化的语言(如SML)中的“参考实现”。哪个机构认可或批准该标准并不是真正的问题。
这与Perl或PHP等实现定义的语言不同,在Perl或PHP等语言中,语言所做的事情只是由该语言的某些特定“旗舰”实现所做的事情来定义的。
所以我们可以说,某个C编译器实际上并没有正确地编译C,因为它不遵守标准。同时,我们不能说CPython没有正确地解释Python,因为根据定义,它所做的就是Python所做的。
Haskell是由Haskell报告定义的,其最新版本是Haskell2010:http://www.haskell.org/onlinereport/haskell2010/
这份报告是由一个委员会起草的,经过投票和批准。此外,历史上已经并仍然存在多个Haskell编译器和解释器,它们要么符合报告,要么几乎符合报告,但有文档记录的例外情况。
按照标准编写的代码应该可以跨编译器移植,当发现编译器和报表之间存在差异(不是“预期的”)时,通常会更改编译器或报表以使其符合标准。
https://stackoverflow.com/questions/14628383
复制相似问题