2,951
edits
(Created page with "A '''wikipedia:namespace''' is an encapsulation mechanism for names used within a program. Namespaces were added to APL2 in 1987,<ref name="swain">Rexford H. Swain. [...") |
|||
Line 4: | Line 4: | ||
== History == | == History == | ||
The concept of namespaces in APL was proposed as early as 1981 by Ron Murray, based on encapsulation concepts called "modules" or "packages" developed in the 1970s.<ref>Ronald C. Murray. [https://doi.org/10.1145/800142.805363 Namespaces: Semipermeable membranes for APL applications] at [[APL81]].</ref> Murray credits Jim Ryan for the use of the term "Namespace". In 1987, [[IBM]] introduced namespaces to [[APL2]] as a form of name scope (IBM used the term "namescope" for a workspace or function scope) that could be manipulated directly by the programmer.<ref name="swain"/> Unlike the later [[Dyalog APL]] namespaces, IBM's are independent of any workspace, and stored separately. Dyalog's namespaces were added in [[Dyalog APL 7.0|version 7.0]], released in 1994, largely to make it easier to handle Dyalog's Windows GUI environment. In [[Dyalog APL 9.0]], namespace references were added, allowing these namespaces to be manipulated as values. Dyalog's namespaces would later become the basis of its [[object-oriented programming]] system implementation, although namespaces, classes, and objects are different kinds of values within the language. | The concept of namespaces in APL was proposed as early as 1981 by Ron Murray, based on encapsulation concepts called "modules" or "packages" developed in the 1970s.<ref>Ronald C. Murray. [https://doi.org/10.1145/800142.805363 Namespaces: Semipermeable membranes for APL applications] at [[APL81]].</ref> Murray credits Jim Ryan for the use of the term "Namespace". In 1987, [[IBM]] introduced namespaces to [[APL2]] as a form of name scope (IBM used the term "namescope" for a workspace or function scope) that could be manipulated directly by the programmer.<ref name="swain"/> Unlike the later [[Dyalog APL]] namespaces, IBM's are independent of any workspace, and stored separately. Dyalog's namespaces were added in [[Dyalog APL 7.0|version 7.0]],<ref>[[John Scholes]]. [http://archive.vector.org.uk/art10007730 Meeting: Dyalog APL Namespaces]. [[Vector journal]] Volume 11, No.1. 1994-07.</ref> released in 1994, largely to make it easier to handle Dyalog's Windows GUI environment. In [[Dyalog APL 9.0]], namespace references were added, allowing these namespaces to be manipulated as values. Dyalog's namespaces would later become the basis of its [[object-oriented programming]] system implementation, although namespaces, classes, and objects are different kinds of values within the language. | ||
== References == | == References == | ||
<references/> | <references/> | ||
{{APL features}}[[Category:APL objects]] | {{APL features}}[[Category:APL objects]] |