Metalinguistic abstraction

Metalinguistic abstraction

In computer science, metalinguistic abstraction is the process of solving complex problems by creating a new language or vocabulary to better understand the problem space. It is a recurring theme in the seminal MIT textbook, the Structure and Interpretation of Computer Programs, which uses Scheme as a framework for constructing new languages.

Explanation

For example, consider modelling an airport inside a computer. A procedural (e.g. C) programmer would create data structures to represent the elements of an airport and functions to operate on those data structures. An object-oriented (e.g. C++) programmer would create objects to represent the elements of the airport with methods which represent their behaviors. A functional (e.g. Scheme) programmer would create functions representing both elements and behaviors of the airport. A metalinguistic programmer would abstract the problem by creating a new language for modelling an airport with its own primitives and operations. The language could then encompass any or all of the above techniques as required by the problem at hand.

Because the creation of functional metalinguistic abstractions in non-functional languages can be cumbersome and also because of the syntactic flexibility of functional macros, metalinguistic programming is most often performed on a functional base.

See also


Wikimedia Foundation. 2010.

Игры ⚽ Поможем сделать НИР

Look at other dictionaries:

  • Metalanguage — For the programming language, see ML (programming language). Broadly, any metalanguage is language or symbols used when language itself is being discussed or examined.[1] In logic and linguistics, a metalanguage is a language used to make… …   Wikipedia

  • Structure and Interpretation of Computer Programs — ( SICP ) is a textbook published in 1985 about general computer programming concepts from MIT Press written by Massachusetts Institute of Technology professors Harold Abelson and Gerald Jay Sussman, with Julie Sussman. It has been used as the… …   Wikipedia

  • Domain-specific language — Programming paradigms Agent oriented Automata based Component based Flow based Pipelined Concatenative Concurrent computing …   Wikipedia

  • Language-oriented programming — is a style of computer programming, via metaprogramming in which, rather than solving problems in general purpose programming languages, the programmer creates one or more domain specific programming languages for the problem first, and solves… …   Wikipedia

  • human behaviour — Introduction       the potential and expressed capacity for physical, mental, and social activity during the phases of human life.       Human beings, like other animal species, have a typical life course that consists of successive phases of… …   Universalium

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”