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

Lig*_*ica 7 standards haskell

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

那么编程语言被标记为"标准化"的标准究竟是什么?是否只需要在某个网站上发布规范

scl*_*clv 6

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

这与实现定义的语言(例如Perl或PHP)相反,语言所做的只是通过语言的某些特定"旗舰"实现来定义.

所以我们可以说某个C编译器实际上没有正确编译C,因为它不符合标准.同时,我们不能说CPython不能正确解释Python,因为它的作用就是 Python的定义.

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

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

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

  • 我不同意参考实施足以被视为标准化.规范是允许互操作性所必需的. (2认同)