7

ウィキペディアは、Haskell は「標準化されている」と主張していますが、Haskell 標準は、ISO などの国際的に認められた標準化団体によって批准されていません。BSI や ANSI などの国家機関によるものでさえありません。

では、プログラミング言語が「標準化された」とラベル付けされる基準は実際には何なのでしょうか? どこかのウェブサイトに仕様を公開するだけでよいのでしょうか?

4

1 に答える 1

6

あなたはあなた自身の質問に答えました。標準化された言語とは、それ自体が標準化および形式化された言語 (SML など) のドキュメントまたは「参照実装」など、何らかの仕様によって定義された言語です。どの機関が標準を認識または承認するかは、実際には問題ではありません。

これは、Perl や PHP などの実装定義言語とは対照的です。言語が行うことは、言語の特定の「フラグシップ」実装が行うことによって単純に定義されます。

したがって、特定の C コンパイラは標準に準拠していないため、実際には C を適切にコンパイルしていないと言えます。一方、CPython が Python を適切に解釈しないとは言えません。なぜなら、CPython が行うことは、定義上、Python が行うことだからです。

Haskell は Haskell Report で定義されており、その最新バージョンは Haskell 2010 です: http://www.haskell.org/onlinereport/haskell2010/

このレポートは、委員会によって作成され、投票され、承認されています。さらに、文書化された例外を除いて、レポートに準拠するか、レポートにほぼ準拠する複数の Haskell コンパイラとインタプリタが歴史的に存在し、現在も残っています。

標準に従って書かれたコードは、コンパイラ間で移植可能であるべきであり、コンパイラとレポート (「期待された」もの以外) との間に相違が見つかった場合、コンパイラまたはレポートのいずれかが準拠するように変更されるのが通常です。

于 2013-01-31T20:47:34.760 に答える