1. A method performed by a compiler in a computer system, the method comprising: compiling data parallel source code written in a high level programming language that provides an extensible set of transformations for use on indexable types in a data parallel processing environment to generate data parallel executable code by: identifying a set of two or more transformations on an indexable type in the data parallel source code, the data parallel source code configured for execution on one or more data parallel optimal compute nodes, wherein the indexable type has a rank and an element type and the compiler implements each transformation as a map from the indexable type to allow each transformation to be applied to other transformations; and generating the data parallel executable code from the data parallel source code such that the data parallel executable code implements the set of two or more transformations on the indexable type as a combined operation wherein when executed the data parallel executable code applies the set of two or more transformations to the indexable type to generate a transformed indexable type.