MLはMeta Languageの略語である.
その名前にまつわる歴史的な経緯については,以下に引用する情報処理学会誌の 解説を参照.
MLは,1970年代の後半にEdinburgh大学で,証明導出システムEdinburgh LCFのた めの記述言語として開発された.LCFシステムの記述の対象は定理や,公理,推 論規則などであり,MLはそれらを計算機システムの中で表現,操作するための言 語,すなわちそれら数学的対象が属する形式言語のメタ言語(Meta Langauge)で あった.MLの名前はこの歴史的な事実による.名前のみならず,MLの特徴の多く はLCFのメタ言語としての要求に由来している. (大堀 淳.プログラミング言語ML,情報処理学会誌,35(3):215--226, 1994.)
「メタ」とは,もともとは,「後の」というギリシャ語の接頭語である.
アリストテレスの著書の中で,名前がなく自然学(physica)の後に置かれため metaphysicaと呼ばれるようになった書物が,今日我々が哲学(形而上学,metaphysics) と呼ぶ内容のものであったため,この単なる位置を表す接頭語に,「自然学を超 えた」,「超越的な」という意味が与えられるようになった. さらにこの超越的態度が,カントの批判哲学(超越論的論理学/カテゴリー論, Transzendentale Kategorien)によってより洗練され,「自然現象記述の地平か ら一歩退き,その原理を考察する」という哲学的態度を意味するものとして定着 した.
この歴史的経緯から,メタとは,思考活動を反省して捉え直す態度を指す.これ を言語理論に当てはめれば,言語を使う次元から出て,言語使用そのものを考察 する立場となる. もちろん,その考察も言語によって行われる. この反省的分析的な考察に使用される言語は,考察の対象となる言語とは独立の ものである.この後者の言語がメタ言語である.通常の考察では,両言語とも日 常言語であり,改めて意識することはないが,計算機科学などで,(プログラミ ングなどの種々の)言語を対象として扱う上で,両者の違いを意識することは重 要となる