Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Why is ML called Meta-Language?

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?

like image 807
Gepapado Avatar asked Mar 28 '26 02:03

Gepapado


2 Answers

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.

like image 78
Drup Avatar answered Apr 01 '26 06:04

Drup


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

like image 21
Andreas Rossberg Avatar answered Apr 01 '26 07:04

Andreas Rossberg



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!