ComputingComputer ScienceComputer ArchitectureParallel ComputingProgramming LanguagesConcurrent ProgrammingFunctional ProgrammingInterprocess CommunicationParallel ArchitecturesParallel Computer ArchitectureSynchronization PrimitivesConcurrent ComputationConcurrent ProcessesInter-process CommunicationMimd ArchitecturesSimd ArchitecturesSimd Execution
A functional enclose operator, which returns the scalar representation of a function, is introduced. By providing a scalar representation of a function, functional enclose provides capabilities similar to those of SHARP APL Packages. When used in conjunction with the formatting function, functional enclose supplants (@@@@)cr. Apply is defined as a proper extension of the execute (@@@@) primitive function to the domain of enclosed function and array arguments. Apply, in conjunction with functional enclose, extends the architecture of APL from SIMD [Single-Instruction , Multiple-Data] to MIMD [Multiple-Instruction, Multiple-Data], by allowing creation and concurrent execution of 'arrays' of functions. This provides a concise facility for the establishment of concurrent processes within a single APL task. Additional extensions allow these processes to communicate via shared variables, permitting the logical creation of arbitrary interprocessor connections, and facilitating the synchronization and control of such processes. Apply provides a hardware-independent way of describing various MIMD architectures, such as banyan- or cube-connected machines, and dataflow machines.
6
Greg Barnes, Rebecca M. Brown, M. Kato et al. · IEEE Transactions on Computers · 1968 · 526 citations
The Indirect Binary n-Cube Microprocessor Array
Pease · IEEE Transactions on Computers · 1977 · 500 citations
IEEE Transactions on Computers
IEEE Multimedia · 2024 · 73 citations
A function definition operator
Kenneth E. Iverson, Peter K. Wooster · ACM SIGAPL APL Quote Quad · 1981 · 20 citations