Extensible programming: Difference between revisions

Content deleted Content added
Pi zero (talk | contribs)
m Robot-assisted disambiguation (you can help!): Macro
Line 3:
== Historical movement ==
 
The first paper usually<ref name="Standish1975">Standish, Thomas A., "Extensibility in Programming Language Design", ''SIGPLAN Notices'' 10 no. 7 (July 1975), pp. 18-21.</ref><ref name="Sammet1969">Sammet, Jean E., ''Programming Languages: History and Fundamentals'', Prentice-Hall, 1969, section III.7.2</ref> associated with the extensible programming language movement is [[Douglas McIlroy|M. Douglas McIlroy's]] 1960 paper on [[macroMacro (computer science)|macros]] for higher-level programming languages.<ref name="McIlroy1960">McIlroy, M.D., "Macro Instruction Extensions of Computer Languages", ''Communications of the ACM'' 3 no. 4 (April 1960), pp. 214-220.</ref> Another early description of the principle of extensibility occurs in Brooker and Morris's 1960 paper on the [[Compiler-compiler|Compiler-Compiler]].<ref name="Brooker&Morris1962">Brooker, R.A. and Morris, D., "A General Translation Program for Phrase Structure Languages", ''Journal of the ACM'' 9 no. 1 (January 1962), pp. 1-10. The paper was received in 1960.</ref> The peak of the movement was marked by two academic symposia, in 1969 and 1971.<ref name="Christensen&Shaw1969">Christensen, C. and Shaw, C.J., eds., Proceedings of the Extensible Languages Symposium, ''SIGPLAN Notices'' 4 no. 8 (August 1969).</ref><ref name="Schuman1971">Schuman, S.A., ed., Proceedings of the International Symposium on Extensible Languages, ''SIGPLAN Notices'' 6 no. 12 (December 1971).</ref> By 1975, a survey article on the movement by Thomas A. Standish<ref name="Standish1975"/> was essentially a post mortem.
 
=== Character of the Historical Movement ===
Line 9:
As typically envisioned, an extensible programming language consisted of a base language providing elementary computing facilities, and a meta-language capable of modifying the base language. A program then consisted of meta-language modifications and code in the modified base language.
 
The most prominent language-extension technique used in the movement was [[macro|macro definition]]. Grammar modification was also closely associated with the movement, resulting in the eventual development of [[adaptive grammar|adaptive grammar formalisms]]. The [[Lisp (programming language)|Lisp]] language community remained separate from the extensible language community, apparently because, as one researcher observed,
 
<blockquote>any programming language in which programs and data are essentially interchangeable can be regarded as an extendible [sic] language. ... this can be seen very easily from the fact that Lisp has been used as an extendible language for years.<ref name="Harrison1969">Harrison, M.C., in "Panel on the Concept of Extensibility", pp. 53-54 of the 1960 symposium.</ref></blockquote>