MetaLanguage
Last edit August 31, 2006
...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
HoareTriple
s,
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.