How is ML (and its variants e.g. SML) a metalanguage. What is the object language that ML describes? Is it just because functions are considered values, therefore code is treated in the same way as data?
Why is ML called Meta-Language?
393 views Asked by Gepapado At
2
There are 2 answers
0
On
It actually comes from its original use case.
ML was designed as a language to write theorem provers. In this case, ML is the programming language that you use to describe the theory. It's the language above the theory: the meta-language. Or, as Milner would put it in the original paper:
We also discuss extending these results to richer languages; a type-checking algorithm based on W is in fact already implemented and working, for the metalanguage ML in the Edinburgh LCF system.
The name stuck, so now it's called like this, even though it doesn't describe an object language in the general sense.
ML originally was the meta language for the LCF theorem prover developed by Milner in the 70s. You could use it define and perform proofs in this system, e.g., by writing proof tactics in ML. See also the Wikipedia article