Meta Language

...a (usually) formal symbolic language used to describe and reason upon constructs of another language.

Example: BackusNaurForm (BNF)

See: http://www.stcloudstate.edu/cgi-bin/foldoc.cgi?metalanguage

BackusNaurForm is a language (not a method) to formally describe the syntax of programming language constructs.

It is also possible to formally describe meaning or semantics. There are three classic ways to do this: AxiomaticSemantics? (see http://www.foldoc.org/foldoc/foldoc.cgi?axiomatic+semantics) by using HoareTriples, StructuralOperationalSemantics? (see http://www.foldoc.org/foldoc/foldoc.cgi?operational+semantics) by GordonPlotkin?, and DenotationalSemantics by DanaScott.


The name of the FunctionalProgrammingLanguage ML derives from "meta-language," as the MlLanguage was originally a MetaLanguage for writing proof tactics for a theorem-prover. Later people decided it was more generally useful.


The term meta-language developed in 20th century philosophy as a kind of parallel to MrAristotle's Meta-physics (The book after Physics).


The ForthLanguage can be used as a meta-language. A Forth programmer can design an application-specific language, with whatever syntax and semantics are desired, and then write the application in that language. Lispers express a similar attitude to programming.


EditText of this page (last edited August 31, 2006) or FindPage with title or text search