namespaces semipermeable membranes for apl applications
Namespaces are proposed as an extension to APL which can provide for large APL applications the same sort of structure and communications control provided in living structures by semipermeable membranes. Living systems are partitioned by a variety of semipermeable membranes. Those membranes provide protection and isolation for subenvironments of the entity. They also control the flow of information and material between the subenvironments. Large applications designed for maintainability and extensibility are similar to living systems. They are hierarchically subdivided into simple subunits which are defined in terms of other subunits and which communicate with them in controlled ways. APL and most other programming environments do not provide suitable means to enforce the isolation and communication control conventions that are appropriate for large applications. Instead isolation depends on the good intentions and discipline of the implementers and the maintenance programmers.
namespaces applications extensibility sorting structure communication control systems protection isolates flow informal material maintainability programming environment intent maintenance programmer name-bindings imports exports interfaces