Extensible programming: Difference between revisions

Content deleted Content added
JNShutt (talk | contribs)
JNShutt (talk | contribs)
Line 17:
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 (computer science)|reflection]].
 
=== Death of the Historical Movement ===