Abstract. High-level array processing is characterized by the composition of generic operations, which treat all array elements in a uniform way. This paper proposes a mechanism that allows programmers to direct effects of such array operations to non-scalar subarrays of argument arrays without sacrificing the high-level programming approach. A versatile notation for axis control is presented, and it is shown how the additional language constructs can be transformed into regular SaC code. Furthermore, an optimization technique is introduced which achieves the same runtime performance regardless of whether code is written using the new notation or in a substantially less elegant style employing conventional language features. 1 Introduction SaC (Single Assignment C)  is a purely functional programming language, which allows for high-level array processing in a way similar to Apl . Programmers are encouraged to construct application programs by composition of basic, generic, shape- and dimension-invariant array operations, typically via multiple intermediate levels of abstraction. As an example take a SaC implementation of the L2 norm: double L2Norm ( double[*] A)
To submit an update or takedown request for this paper, please submit an Update/Correction/Removal Request.