Tag: extensible language

extensible language

Extensible programming is a term used in computer science to describe a style of computer programming that focuses on mechanisms to extend the programming language, compilerand runtime environment. Extensible programming languages, supporting this style of programming, were an active area of work in the 1960s, but the movement was marginalized in the 1970s. Extensible programming has become a topic of renewed interest in the twenty-first century. (from Wikipedia)

Standish described three classes of language extension, which he called paraphrase, orthophrase, and metaphrase.

  • Paraphrase defines a facility by showing how to exchange it for something previously defined (or to be defined). As examples, he mentions macro definitions, ordinary procedure definitions, grammatical extensions, data definitions, operator definitions, and control structure extensions.
  • Orthophrase adds features to a language that could not be achieved using the base language, such as adding an i/o system to a base language that previously had no i/o primitives. Extensions must be understood as orthophrase relative to some given base language, since a feature not defined in terms of the base language must be defined in terms of some other language. Orthophrase corresponds to the modern notion of plug-ins.
  • Metaphrase modifies the interpretation rules used for pre-existing expressions. It corresponds to the modern notion of reflection.

Modern definition:

  • extensible syntax
  • extensible compiler
  • extensible runtime

Tags

Authors