Metacompilation is a
computation
Computation is any type of arithmetic or non-arithmetic calculation that follows a well-defined model (e.g., an algorithm).
Mechanical or electronic devices (or, historically, people) that perform computations are known as ''computers''. An es ...
which involves
metasystem Meta-systems have several definitions. In general, they link the concepts " system" and "meta-". A "meta-system" is about other systems, such as describing, generalizing, modelling, or analyzing the other system(s).
According to Turchin and Josly ...
transitions (MST) from a computing machine ''M'' to a metamachine ''M' '' which controls, analyzes and imitates the work of ''M''.
Semantic
Semantics (from grc, σημαντικός ''sēmantikós'', "significant") is the study of reference, meaning, or truth. The term can be used to refer to subfields of several distinct disciplines, including philosophy, linguistics and comput ...
s-based program transformation, such as
partial evaluation
In computing, partial evaluation is a technique for several different types of program optimization by specialization. The most straightforward application is to produce new programs that run faster than the originals while being guaranteed to ...
and supercompilation (SCP), is metacomputation. Metasystem transitions may be repeated, as when a program transformer gets transformed itself. In this manner MST hierarchies of any height can be formed. The Fox paper reviews one strain of research which was started in
Russia
Russia (, , ), or the Russian Federation, is a List of transcontinental countries, transcontinental country spanning Eastern Europe and North Asia, Northern Asia. It is the List of countries and dependencies by area, largest country in the ...
by
Valentin Turchin
Valentin Fyodorovich Turchin (russian: Валенти́н Фёдорович Турчи́н, 14 February 1931 in Podolsk – 7 April 2010 in Oakland, New Jersey) was a Soviet and American physicist, cybernetician, and computer scientist. He d ...
's
REFAL
Refal ("Recursive functions algorithmic language"; russian: РЕФАЛ) "is a functional programming language oriented toward symbolic computations", including "string processing, language translation, ndartificial intelligence". It is one of the ...
system in the late 1960s-early 1970s and became known for the development of supercompilation as a distinct method of
program transformation
A program transformation is any operation that takes a computer program and generates another program. In many cases the transformed program is required to be semantically equivalent to the original, relative to a particular formal semantics and ...
. After a brief description of the history of this research line, the paper concentrates on those results and problems where supercompilation is combined with repeated metasystem transitions.
See also
*
Metacompiler
In computer science, a compiler-compiler or compiler generator is a programming tool that creates a parser, interpreter, or compiler from some form of formal description of a programming language and machine.
The most common type of compiler- ...
*
Partial evaluation
In computing, partial evaluation is a technique for several different types of program optimization by specialization. The most straightforward application is to produce new programs that run faster than the originals while being guaranteed to ...
External links
Papers on metacompilationan introduction to supercompilation
{{prog-lang-stub
Compiler construction