You answered your question. A standardized language is one that is defined by some specification, whether it is a document or a “reference implementation” in a language that is itself standardized and formalized (for example, SML). Which body recognizes or approves the standard is not really a problem.
This is in contrast to a language defined for implementation, such as Perl or PHP, where what the language does is simply determined by what a certain flagship language implementation does.
Thus, we can say that a specific C compiler does not actually compile C properly, because it does not obey the standard. Meanwhile, we cannot say that CPython does not correctly interpret Python, because what it does is what Python does by definition.
Haskell is defined by the Haskell Report, the latest version of which is Haskell 2010: http://www.haskell.org/onlinereport/haskell2010/
This report has been drafted by the committee, voted and ratified. In addition, historically there have been and remain numerous Haskell compilers and interpreters that either match the report or almost match the report with documented exceptions.
The code written in the standard must be portable for all compilers, and when there are discrepancies between compilers and the report (except for the "expected"), it usually happens that either the compiler or the report will be changed to match.
sclv
source share